假设我有这样的数据:

我知道我可以降低水平,这样我就有了“赛季”、“球员”、“球队”等栏目。熊猫里有什么功能,我可以把“一队”的名字缩成一列,这样整个栏目都写着“一队”吗?
发布于 2020-07-15 02:50:34
IIUC,你可以做一些不同的事情,这里有两种方法:
在那里虚拟数据,
df = pd.DataFrame(np.random.randint(0,100,(5,3)),
columns = pd.MultiIndex.from_tuples([('Season', 'Season'),
('First team', 'Players'),
('First team', 'Teams')]))输入虚拟数据:
Season First team
Season Players Teams
0 28 41 53
1 62 87 87
2 43 94 4
3 23 12 93
4 14 43 62然后使用droplevel
df = df.droplevel(0, axis=1)输出:
Season Players Teams
0 54 94 19
1 54 47 91
2 56 35 40
3 37 68 14
4 17 78 68或使用列表理解的flatten multiindex column header:
df.columns = [f'{i}_{j}' for i, j in df.columns]
#Also, can use df.columns = df.columns.map('_'.join)
df输出:
Season_Season First team_Players First team_Teams
0 54 94 19
1 54 47 91
2 56 35 40
3 37 68 14
4 17 78 68https://stackoverflow.com/questions/62906785
复制相似问题