Python 将数据帧转换为多索引数据帧
我有一个现有的数据框,其中包含国家,天气,温度,日期从CSV文件提取。 我想将数据框转换为多索引,并导出到excel文件Python 将数据帧转换为多索引数据帧,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个现有的数据框,其中包含国家,天气,温度,日期从CSV文件提取。 我想将数据框转换为多索引,并导出到excel文件 df = pd.read_csv('Country.csv') df Out[47]: Country Weather Temp Date 0 Korea Sunny 30 20201201 1 Japan Rainny 26 20201201 2 England Sunny 27 2020
df = pd.read_csv('Country.csv')
df
Out[47]:
Country Weather Temp Date
0 Korea Sunny 30 20201201
1 Japan Rainny 26 20201201
2 England Sunny 27 20201201
3 Malaysia Rainny 25 20201201
4 Korea Sunny 30 20201202
5 Japan Rainny 26 20201202
6 England Sunny 27 20201202
7 Malaysia Rainny 25 20201202
8 Korea Rainny 30 20201203
9 Japan Rainny 26 20201203
10 England Rainny 27 20201203
11 Malaysia Rainny 28 20201203
我曾尝试使用df.set_索引(['Country','Date'])
,但它不起作用
输出版本
试试这个:
df.set_index(['Country', 'Date']).unstack(1).swaplevel(0,1, axis=1).sort_index(axis=1)
输出:
Date 20201201 20201202 20201203
Temp Weather Temp Weather Temp Weather
Country
England 27 Sunny 27 Sunny 27 Rainny
Japan 26 Rainny 26 Rainny 26 Rainny
Korea 30 Sunny 30 Sunny 30 Rainny
Malaysia 25 Rainny 25 Rainny 28 Rainny
Try:
df=df.set_index(['Country','Date'])
我试图使用pivot_表来实现这一点,但它不想聚合'Weather'列,即使将其更改为分类数据类型。@wiidf.pivot('Country','Date',['Weather','Temp'])。swaplevel(0,1,axis=1)。排序_index(axis=1)
@wii是的,pivot_表不会在一个步骤中工作,因为pivot_表只接受一个“值”列,而不接受值列列表。