我试图在熊猫中转换unix时间。我从csv文件中读到了这个,但是当我尝试转换它时,我得到了上面的错误。
#read the file in
df = pd.read_csv(files,parse_dates=True)
#create a new Data Frame with specific values from the original .csv
df2 = df[['timestamp','avg_hr','avg_rr','emfit_sleep_summary_id']]
#convert the timestamp to int
df2['timestamp'] = df2['timestamp'].astype(int)
#convert time using, pd.to_datetime()
df2['timestamp'] = pd.to_datetime(df2['timestamp'],unit='s')
print df2.head()
完整追溯
Traceback (most recent call last):
File "Emfit-Processing.py", line 52, in <module>
main()
File "Emfit-Processing.py", line 47, in main
load_file()
File "Emfit-Processing.py", line 31, in load_file
df2['timestamp'] = pd.to_datetime(df2['timestamp'],unit='s')
TypeError: to_datetime() got an unexpected keyword argument 'unit'
其他信息:
Pandas版本是:0.8.0
OS:Debian,使用sudo apt-get install python-pandas安装(根据官方网站)
示例数据
1422404668
1422404670
1422404672
1422404674
1422404676
1422404678
1422404680
1422404682
1422404684
1422404686
1422404688
1422404690
1422404692
答案 0 :(得分:0)
我可以通过简单地将值传递给参数来获得结果。我想知道关键字参数'unit'应该在那里做什么。检查你的熊猫版本。
pandas.to_datetime(1422404668)
时间戳('1970-01-01 00:00:01.422404668')
我正在使用pandas 0.15.2
答案 1 :(得分:0)
我运行的是旧版本,我从git克隆了新版本并安装了它。问题已经解决。