我有一個數據框,看起來像這樣。熊貓數據框應用功能
df.head()
Ship Date Cost Amount
0 2010-08-01 4257.23300
1 2010-08-01 9846.94540
2 2010-08-01 35.77764
3 2010-08-01 420.82920
4 2010-08-01 129.49638
我不得不俱樂部數據一週明智的,我做到了:
df['week_num'] = pd.DatetimeIndex(df['Ship Date']).week
x = df.groupby('week_num').sum()
它產生一個數據幀,看起來像這樣:
Cost Amount
week_num
30 3.273473e+06
31 9.715421e+07
32 9.914568e+07
33 9.843721e+07
34 1.065546e+08
35 1.087598e+08
36 8.050456e+07
現在我想增加一列與周和年的信息做我做的:
def my_conc(row):
return str(row['week_num'])+str('2011')
和
x['year_week'] = x.apply(my_conc,axis= 1)
這給了我一個錯誤信息:
KeyError: ('week_num', u'occurred at index 30')
現在我的問題是 1)爲什麼GROUPBY函數生成的數據幀,看起來有點古怪,因爲它不具備WEEK_NUM作爲列名稱 ? 2)是否有更好的方法來生成分組數據的數據框? 3)如何在上面的數據框中使用apply函數temp
?
你怎麼會'df.groupby( 'WEEK_NUM')。SUM()'?當'df'沒有'week_num'列的時候。 – Zero
@JohnGalt,對不起,我錯過了一箇中間步驟。我現在添加了它。 –