Python:在pandas中操纵时间数据帧
我有一个Pandas数据框架,内容为numpy.ndarrayPython:在pandas中操纵时间数据帧,pandas,dataframe,time-series,Pandas,Dataframe,Time Series,我有一个Pandas数据框架,内容为numpy.ndarray data_empty = {} df = pd.DataFrame(data_empty) df['HH'] = np.arange(0,10) 数据帧df['HH']是相对于固定日期以小时为单位的时差: start_date =['1990-01-01 00:00:00'] 我想得到一个新的数据框列df['new_date'],它以与df['HH]相同的格式显示实际日期。当我尝试时: df['time_added'] = pd
data_empty = {}
df = pd.DataFrame(data_empty)
df['HH'] = np.arange(0,10)
数据帧df['HH']
是相对于固定日期以小时为单位的时差:
start_date =['1990-01-01 00:00:00']
我想得到一个新的数据框列df['new_date']
,它以与df['HH]
相同的格式显示实际日期。当我尝试时:
df['time_added'] = pd.to_timedelta(df['HH'],'h')
df['new_date'] = pd.to_datetime(start_date)+ df['time_added']
我得到一个错误:
ValueError: cannot add indices of unequal length.
我想知道两种可能的解决方案的答案:
1) 我如何制作一个数据框df['start\u date']
所有的值都是start\u date,这样我就可以将start\u date添加到time\u added?
2) 我如何防止创建一个新的数据帧,所有数据帧都具有相同的值start_date并仅进行计算
df['new_date'] = pd.to_datetime(start_date)+ df['time_added']
没有长度问题?首先删除
开始日期的一个元素列表,对于转换时间增量使用:
或仅与原点
和单位
参数一起使用:
start_date ='1990-01-01 00:00:00'
df['Date'] = pd.to_datetime(df['HH'], unit='h', origin=start_date)
print (df)
HH Date
0 0 1990-01-01 00:00:00
1 1 1990-01-01 01:00:00
2 2 1990-01-01 02:00:00
3 3 1990-01-01 03:00:00
4 4 1990-01-01 04:00:00
5 5 1990-01-01 05:00:00
6 6 1990-01-01 06:00:00
7 7 1990-01-01 07:00:00
8 8 1990-01-01 08:00:00
9 9 1990-01-01 09:00:00
首先删除一个元素列表,用于start\u date
和convert timedelta使用:
或仅与原点
和单位
参数一起使用:
start_date ='1990-01-01 00:00:00'
df['Date'] = pd.to_datetime(df['HH'], unit='h', origin=start_date)
print (df)
HH Date
0 0 1990-01-01 00:00:00
1 1 1990-01-01 01:00:00
2 2 1990-01-01 02:00:00
3 3 1990-01-01 03:00:00
4 4 1990-01-01 04:00:00
5 5 1990-01-01 05:00:00
6 6 1990-01-01 06:00:00
7 7 1990-01-01 07:00:00
8 8 1990-01-01 08:00:00
9 9 1990-01-01 09:00:00