Python 将具有多级索引的数据帧值转换为单列
我想请教你的意见 如何将第一个数据帧转换为下面的第二个数据帧 大陆、国家和位置是列索引的名称 pollution_level将被添加为第一个数据帧上存在的值的列名Python 将具有多级索引的数据帧值转换为单列,python,dataframe,Python,Dataframe,我想请教你的意见 如何将第一个数据帧转换为下面的第二个数据帧 大陆、国家和位置是列索引的名称 pollution_level将被添加为第一个数据帧上存在的值的列名 Continent Asia Asia Africa Europe Country Japan China Mozambique Portugal Location Tokyo Shanghai Maput
Continent Asia Asia Africa Europe
Country Japan China Mozambique Portugal
Location Tokyo Shanghai Maputo Lisbon
Date
01 Jan 20 250 435 45 137
02 Jan 20 252 457 43 144
03 Jan 20 253 463 42 138
谢谢。以下内容应满足您的要求 模块
import io
import pandas as pd
创建数据
df = pd.read_csv(io.StringIO("""
Continent Asia Asia Africa Europe
Country Japan China Mozambique Portugal
Location Tokyo Shanghai Maputo Lisbon
Date
01 Jan 20 250 435 45 137
02 Jan 20 252 457 43 144
03 Jan 20 253 463 42 138
"""), sep="\s\s+", engine="python", header=[0,1,2], index_col=[0])
验证多索引
df.columns
MultiIndex([( 'Asia', 'Japan', 'Tokyo'),
( 'Asia', 'China', 'Shanghai'),
('Africa', 'Mozambique', 'Maputo'),
('Europe', 'Portugal', 'Lisbon')],
names=['Continent', 'Country', 'Location'])
转置表和堆栈值
ndf = df.T.stack().reset_index()
ndf.rename({0:'Polution_Level'}, axis=1)
ndf = df.T.stack().reset_index()
ndf.rename({0:'Polution_Level'}, axis=1)