我使用此代码创建了一个使用15分钟间隔的DateTime列表
import pandas as pd
import numpy as np
power_data = pd.DataFrame([])
time_data = []
time_data = np.arange('2017-10-31T00:15', '2017-12-01T00:15', dtype='datetime64[15m]'))
我获得的输出是可以按预期的。此后,我尝试使用此代码将此日期时间数组(作为列(添加到Panadas DataFrame中
time_data = pd.Series(time_data)
power_data['Time'] = time_data.values
此代码正确添加了此时间列,但是DateTime值已更改。
0 1973-03-10 16:01:00
1 1973-03-10 16:02:00
2 1973-03-10 16:03:00
.........
2975 1973-03-12 17:36:00
主要罪魁祸首是 pd.Series(time_data)
,它在安排时更改了日期时间值。我的问题是如何在不更改其值的情况下添加此DateTime?
您是否考虑使用pd.date_range()
?
这对我有用:
power_data = pd.DataFrame([])
power_data["Time"] = pd.date_range(start="2017-10-31 00:15:00",
end = '2017-12-01 00:15:00',
freq = '15T' )
import pandas as pd
import numpy as np
power_data = pd.DataFrame([])
time_data = []
time_data = np.arange('2017-10-31T00:15', '2017-12-01T00:15', dtype='datetime64')
time_data
我刚刚删除了[15m]。其他一切保持不变。所以:
time_data = pd.Series(time_data)
power_data['Time'] = time_data.values
power_data
现在power_data输出看起来像这样:
0 2017-10-31 00:15:00
1 2017-10-31 00:16:00
2 2017-10-31 00:17:00
3 2017-10-31 00:18:00