2014-04-01 30 views
0

我已經提取如下表從一個CSV文件:沒有項目名爲「時間戳」的數據幀,而真的是有一個

date     user_id whole_cost cost1    
02/10/2012 00:00:00  1  1790  12   
07/10/2012 00:00:00  1  364  15   
30/01/2013 00:00:00  1  280  10   
02/02/2013 00:00:00  1  259  24   
05/03/2013 00:00:00  1  201  39   
02/10/2012 00:00:00  3  623  1   
07/12/2012 00:00:00  3   90  0   
30/01/2013 00:00:00  3  312  90   
02/02/2013 00:00:00  5  359  45   
05/03/2013 00:00:00  5  301  34   
02/02/2013 00:00:00  5  359  1   
05/03/2013 00:00:00  5  801  12 

爲此我用下面的語句:

import pandas as pd 

newnames = ['date','user_id', 'whole_cost', 'cost1'] 
df = pd.read_csv('expenses.csv', names = newnames, index_col = 'timestamp') 

pivoted = df.pivot('timestamp','user_id') 

但是,最後一行生成錯誤消息:no item named timestamp

非常感謝您的幫助。

+4

用'date'替換'timestamp'。 –

+0

Thanks.I同樣忘記從電子表格中刪除標題,但現在已解決。 – Space

+0

您不需要修改csv。改變你的代碼。 –

回答

0

看起來像列名timestamp不存在於數據框中。
嘗試index_col = 'date'而不是index_col = 'timestamp'也使用pares_dates = ['date']而使用pd.read_csv

這應該工作:
df = pd.read_csv('expenses.csv', header = False, names = newnames, index_col = 'date', parse_dates = ['date'])

希望這有助於。

+1

事實上,我不得不刪除它,否則在執行pivoted = df.pivot(' date','user_id'):如果我用它作爲索引(通過做index_col ='date'),顯然'date'將不會被識別爲具有名稱。 – Space

相關問題