如何将Numpy DateTime列表添加到PANDAS DATAFRAME中作为列



我使用此代码创建了一个使用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

最新更新