最佳答案
我读了 熊猫改变外汇数据框架的时区,但是我想让我的数据帧时区的时间列对于 sqlite3数据库的互操作性来说比较天真。
我的熊猫数据框中的数据已经转换为 UTC 数据,但是我不想在数据库中维护这个 UTC 时区信息。
从其他来源获得的数据样本如下:
print(type(testdata))
print(testdata)
print(testdata.applymap(type))
提供:
<class 'pandas.core.frame.DataFrame'>
time navd88_ft station_id new
0 2018-03-07 01:31:02+00:00 -0.030332 13 5
1 2018-03-07 01:21:02+00:00 -0.121653 13 5
2 2018-03-07 01:26:02+00:00 -0.072945 13 5
3 2018-03-07 01:16:02+00:00 -0.139917 13 5
4 2018-03-07 01:11:02+00:00 -0.152085 13 5
time navd88_ft station_id \
0 <class 'pandas._libs.tslib.Timestamp'> <class 'float'> <class 'int'>
1 <class 'pandas._libs.tslib.Timestamp'> <class 'float'> <class 'int'>
2 <class 'pandas._libs.tslib.Timestamp'> <class 'float'> <class 'int'>
3 <class 'pandas._libs.tslib.Timestamp'> <class 'float'> <class 'int'>
4 <class 'pandas._libs.tslib.Timestamp'> <class 'float'> <class 'int'>
new
0 <class 'int'>
1 <class 'int'>
2 <class 'int'>
3 <class 'int'>
4 <class 'int'>
但是
newstamp = testdata['time'].tz_convert(None)
给出了一个最终的错误:
TypeError: index is not a valid DatetimeIndex or PeriodIndex
如何用时区初始时间戳替换列?