差价的平均打印出来了,并且计算正确。为什么我将这个返回作为std_deviation列的结果而不是通过自动收报机分组的差价的标准偏差?: pandas.core.groupby.SeriesGroupBy对象位于0x000000000484A588
df = pd.read_csv('C:\\Users\\William\\Desktop\\tickdata.csv',
dtype={'ticker': str, 'bidPrice': np.float64, 'askPrice': np.float64, 'afterHours': str},
usecols=['ticker', 'bidPrice', 'askPrice', 'afterHours'],
nrows=3000000
)
df = df[df.afterHours == "False"]
df = df[df.bidPrice != 0]
df = df[df.askPrice != 0]
df['spread'] = (df.askPrice - df.bidPrice)
df['std_deviation'] = df['spread'].std(ddof=0)
df = df.groupby(['ticker'])
print(df['std_deviation'])
print(df['spread'].mean())
更新:不再返回对象,但现在试图找出如何通过自动收报机显示标准差
df['spread'] = (df.askPrice - df.bidPrice)
df2 = df.groupby(['ticker'])
print(df2['spread'].mean())
df = df.set_index('ticker')
print(df['spread'].std(ddof=0))
UPDATE2:使用
获取了我需要的数据集df = df[df.afterHours == "False"]
df = df[df.bidPrice != 0]
df = df[df.askPrice != 0]
df['spread'] = (df.askPrice - df.bidPrice)
print(df.groupby(['ticker'])['spread'].mean())
print(df.groupby(['ticker'])['spread'].std(ddof=0))
答案 0 :(得分:0)
这一行:
df
将df['std_deviation']
分配给DataFrameGroupBy对象,并
#[serde(deserialize_with="$path")]
是一个SeriesGroupBy对象(列的)。
最好不要将一个变量“影子”/重新分配给一个完全不同的数据类型。尝试为groupby使用不同的变量名称!