两个数据帧与 group by 的差异的标准差
Standard deviation for the difference of two dataframes with group by
我有两个熊猫数据框:
雅虎数据框:
date ticker return
2017-01-03 CRM 0.018040121229614625
2017-01-03 MSFT -0.0033444816053511683
2017-01-04 CRM 0.024198086662915008
2017-01-04 MSFT -0.0028809218950064386
2017-01-05 CRM -0.0002746875429199269
2017-01-05 MSFT 0.0017687731146487362
数据框范围:
date ticker return
2017-01-03 CRM 0.018040120991250852
2017-01-03 MSFT -0.003344466975803595
2017-01-04 CRM 0.024198103213211475
2017-01-04 MSFT -0.0028809268004892363
2017-01-05 CRM -0.00027464144673694513
2017-01-05 MSFT 0.0017687829680113065
我想获得 Yahoo 和 Quandl 的 'return' 数据差异的标准差,这些数据是针对每一天和数据字段的所有股票代码计算得出的。
我怎样才能得到它?
从合并数据开始:
df1
是雅虎数据
df2
为Quandl数据
df = pd.merge(df1, df2, on=['date', 'ticker'], suffixes=('_yahoo', '_quandl'))
创建diff
:
df['diff'] = df.return_yahoo - df.return_quandl
输出df
:
获得 std
个 ticker
:
df.groupby('ticker')['diff'].std()
ticker
CRM 2.345815e-08
MSFT 1.018375e-08
Name: diff, dtype: float64
我有两个熊猫数据框:
雅虎数据框:
date ticker return
2017-01-03 CRM 0.018040121229614625
2017-01-03 MSFT -0.0033444816053511683
2017-01-04 CRM 0.024198086662915008
2017-01-04 MSFT -0.0028809218950064386
2017-01-05 CRM -0.0002746875429199269
2017-01-05 MSFT 0.0017687731146487362
数据框范围:
date ticker return
2017-01-03 CRM 0.018040120991250852
2017-01-03 MSFT -0.003344466975803595
2017-01-04 CRM 0.024198103213211475
2017-01-04 MSFT -0.0028809268004892363
2017-01-05 CRM -0.00027464144673694513
2017-01-05 MSFT 0.0017687829680113065
我想获得 Yahoo 和 Quandl 的 'return' 数据差异的标准差,这些数据是针对每一天和数据字段的所有股票代码计算得出的。
我怎样才能得到它?
从合并数据开始:
df1
是雅虎数据df2
为Quandl数据
df = pd.merge(df1, df2, on=['date', 'ticker'], suffixes=('_yahoo', '_quandl'))
创建diff
:
df['diff'] = df.return_yahoo - df.return_quandl
输出df
:
获得 std
个 ticker
:
df.groupby('ticker')['diff'].std()
ticker
CRM 2.345815e-08
MSFT 1.018375e-08
Name: diff, dtype: float64