[英]How can I get columns from Multi-Index?
我有一个名为“keytable”的 dataframe,它具有由“月”、“日”和“小时”组成的多索引。 我想在创建 3 个具有“月”、“日”和“小时”值的新列时保留该多索引。 我该怎么做? 这是 dataframe:
keytable.head()
Out[59]:
pp pres rad rh ... ws WeekDay Power_kW Power_kW18
Month Day Hour ...
1 3 0 0.0 1027.6 4.1 78.9 ... 0.0 3 77.303046 117.774419
1 0.0 1027.0 3.3 79.7 ... 0.0 3 72.319602 110.710928
2 0.0 1027.0 3.3 81.8 ... 0.0 3 71.831852 106.067667
3 0.0 1027.0 1.9 86.6 ... 0.0 3 69.555751 106.325955
4 0.0 1027.0 3.8 92.2 ... 0.0 3 69.525780 102.855393
[5 rows x 11 columns]
要创建名为“月”、“日”、“年”的新列,只需new_table=key_table.reset_index()
。 将索引复制为列是一种非常糟糕的做法,但如果你真的坚持,那么
newdf = new_table[['Year', 'Month', 'Year']].set_index(['Year', 'Month', 'Year']).
new_table.set_index(newdf.index, inplace=True)
应该管用。
我最终做了一个 reset_index() 并取消了一个 datetime 列,以便我可以重新索引它。
keytable=keytable.reset_index()
keytable['datetime'] = pd.to_datetime(keytable['datahora'].str.replace('/','-'), errors='coerce')
keytable=keytable.set_index('datetime')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.