【发布时间】:2016-06-18 10:55:45
【问题描述】:
我正在尝试将 pandas DataFrame 的列中的值设置为另一个 pandas DataFrame 中的列的值。我遇到了类型 (pandas.tslib.Timestamp) 未正确转换的问题。
我有一个 DataFrame indicators:
0
Timestamp
0 2016-02-12 13:45:00-05:00
1 2016-02-16 13:45:00-05:00
2 2016-02-17 13:45:00-05:00
3 2016-02-18 13:45:00-05:00
4 2016-02-19 13:45:00-05:00
5 2016-02-22 13:45:00-05:00
6 2016-02-24 13:45:00-05:00
7 2016-02-25 13:45:00-05:00
8 2016-02-26 13:45:00-05:00
9 2016-02-29 13:45:00-05:00
10 2016-03-01 13:45:00-05:00
11 2016-03-02 13:45:00-05:00
12 2016-03-03 13:45:00-05:00
还有另一个 DataFrame signals:
Signal Timestamp
0 0 NaN NaN
1 NaN NaN
2 NaN NaN
3 NaN NaN
4 NaN NaN
5 NaN NaN
6 NaN NaN
7 NaN NaN
8 NaN NaN
9 NaN NaN
10 NaN NaN
11 NaN NaN
12 NaN NaN
signals.info():
<class 'pandas.core.frame.DataFrame'>
MultiIndex: 19500 entries, (0, 0) to (1499, 12)
Data columns (total 2 columns):
Signal 0 non-null object
Timestamp 0 non-null object
dtypes: object(2)
memory usage: 457.0+ KB
我尝试做:
signals['Timestamp'][0] = indicators[0]['Timestamp']
产生
Signal Timestamp
0 0 NaN 1455302700000000000
1 NaN 1455648300000000000
2 NaN 1455734700000000000
3 NaN 1455821100000000000
4 NaN 1455907500000000000
5 NaN 1456166700000000000
6 NaN 1456339500000000000
7 NaN 1456425900000000000
8 NaN 1456512300000000000
9 NaN 1456771500000000000
10 NaN 1456857900000000000
11 NaN 1456944300000000000
12 NaN 1457030700000000000
如何正确转换?
【问题讨论】:
-
你的 python、numpy 和 pandas 版本是什么?
-
Python 是
3.4.4,pandas0.17.1,numpy 是1.11.0b2 -
好的,
signals.info()显示什么? -
过去使用 JSON 和 Pandas 我发现它们的变化量为 1000。JSON->PANDAS (1456174020000/1000)/86400 + 25569+(-5/24) 给出 13数字到 10 到带有时间戳的日期。你可以扭转它吗?
-
如果您 (1) 事先将
signals['TimeStamp']转换为日期时间,或者 (2) 事先删除signals['TimeStamp']列怎么办?我想问题是您正在将日期时间转换为字符串,而熊猫正在做一些事情,例如将日期时间转换为整数然后字符串。
标签: python python-3.x pandas dataframe