假设我有一个这样的数据框:
我知道我可以降低级别,以便我有列:['Season', 'Players', 'Teams']。熊猫中是否有一个功能可以将“第一队”名称折叠到一列中,以便整个列都显示“第一队”?
IIUC,你可以做一些不同的事情,这里有两种方法:
虚拟数据框在哪里,
df = pd.DataFrame(np.random.randint(0,100,(5,3)),
columns = pd.MultiIndex.from_tuples([('Season', 'Season'),
('First team', 'Players'),
('First team', 'Teams')]))
Run Code Online (Sandbox Code Playgroud)
输入虚拟数据帧:
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
Run Code Online (Sandbox Code Playgroud)
然后使用droplevel:
df = df.droplevel(0, axis=1)
Run Code Online (Sandbox Code Playgroud)
输出:
Season Players Teams
0 54 94 19
1 54 47 91
2 56 35 40
3 37 68 14
4 17 78 68
Run Code Online (Sandbox Code Playgroud)
或者使用列表理解来展平多索引列标题:
df.columns = [f'{i}_{j}' for i, j in df.columns]
#Also, can use df.columns = df.columns.map('_'.join)
df
Run Code Online (Sandbox Code Playgroud)
输出:
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 68
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
38 次 |
| 最近记录: |