python - 将一个数据框中的列添加到 pandas 中的 muliheader 数据框
问题描述
在以下代码中,如何将 df2 合并到 df3 以获得类似df4
. df3 是一个多头数据帧,在最终输出中,我只需要第一级的头作为 show.how 来实现这一点
>>> df = pd.DataFrame({'Maths':[95,96,97,98] ,'Science': [91,92,93,94]})
>>> df2=pd.DataFrame({'Languages': ['English','Hindi','French','Spanish']})
>>> header = pd.MultiIndex.from_product([['Subjects'],['Maths', 'Science']])
>>> df3 = pd.DataFrame(df.values.tolist(), columns=header)
>>> df3
Subjects
Maths Science
0 95 91
1 96 92
2 97 93
3 98 94
>>> df2
Languages
0 English
1 Hindi
2 French
3 Spanish
Output df4
Subjects Languages
Maths Science
0 95 91 English
1 96 92 Hindi
2 97 93 French
3 98 94 Spanish
解决方案
Firat 添加MultiIndex
到df2
然后concat
或join
:
df2.columns = [df2.columns, ['']]
#another solution
#df2.columns = pd.MultiIndex.from_arrays([df2.columns, ['']])
df4 = pd.concat([df3, df2], axis =1)
#another solution
#df4 = df3.join(df2)
print (df4)
Subjects Languages
Maths Science
0 95 91 English
1 96 92 Hindi
2 97 93 French
3 98 94 Spanish
推荐阅读
- c# - Prism WPF 关闭视图并处理自动装配的 ViewModel
- sql - 如何在 SQL 中简洁地编写日期?
- java - 是否有任何选项可以在 jhipster 过滤中添加 DTO 中的映射列?
- javascript - amChart 未在 Laravel Blade 文件中呈现
- selenium - 如何找到一个项目
- flutter - 在 Flutter 应用程序中处理 JSON 解析中的空值
- python - 在 Python 中返回函数
- elasticsearch - 弹性搜索查询优先级
- wordpress - Wordpress 错误消息:编译较少文件时出现问题。对无效类型的操作
- c# - 如何在 Listview 中创建几列?