Python 3.x 在不丢失其他列的情况下,将多个列作为索引添加到datetime
我有一个看起来像这样的数据帧(除了更长的数据帧)。我想转换为日期时间索引Python 3.x 在不丢失其他列的情况下,将多个列作为索引添加到datetime,python-3.x,pandas,datetime,Python 3.x,Pandas,Datetime,我有一个看起来像这样的数据帧(除了更长的数据帧)。我想转换为日期时间索引 YYYY MM D value 679 1900 1 1 46.42 1355 1900 2 1 137.14 1213 1900 3 1 104.25 1380 1900 4 1 149.39 1336 1900 5 1 130.33 当我用这个的时候 df = pd.to_datetime((df.YYYY*10000+df.MM*100+df
YYYY MM D value
679 1900 1 1 46.42
1355 1900 2 1 137.14
1213 1900 3 1 104.25
1380 1900 4 1 149.39
1336 1900 5 1 130.33
当我用这个的时候
df = pd.to_datetime((df.YYYY*10000+df.MM*100+df.D).apply(str),format='%Y%m%d')
我检索了datetime索引,但丢失了value列。
我最终想要的是-
value
1900-01-01 46.42
1900-02-01 137.14
1900-03-01 104.25
1900-04-01 149.39
1900-05-01 130.33
我该怎么做?
提前感谢您的时间 您可以使用pandas to_datetime来转换此值
df = df.astype(str)
df.index = pd.to_datetime(df['YYYY'] +' '+ df['MM']+' ' +df['D'])
df.drop(['YYYY','MM','D'],axis=1,inplace=True)
输出:
value
1900-01-01 46.42
1900-02-01 137.14
1900-03-01 104.25
1900-04-01 149.39
1900-05-01 130.33