python - 如何使用熊猫数据框在下一行将列名细分为两个新列
问题描述
我已阅读 excel 输入文件以转换为 pandas 数据帧格式,如下所示。它有三列 [OFFICE NO, DAY HOURS, DAY RATES ] 有两行值 [(101, 8 , 60) , [102, 8, 60)] 输入:
OFFICE NO DAY HOURS DAY RATES
101 8 60
102 8 60
我在文本文件中的最终输出只需要第一行 [OFFICE NO, DAY JOB] 上的两列。第二行需要“DAY JOB”主列名称下方的两个分开的 [HOURS , RATES] 列。输出:
OFFICE NO DAY JOB
HOURS RATES
101 8 60
102 8 60
您能否指导我如何在两行不同的行中定义 pandas 中的列以实现上述输出?
解决方案
看起来像pandas.MultiIndex可能是您正在寻找的。
df = pd.DataFrame({'OFFICE NO': [101, 102],
'DAY HOURS': [8, 8],
'DAY RATES': [60, 60]})
columns = pd.MultiIndex.from_tuples([('DAY JOB', 'HOURS'), ('DAY JOB', 'RATES')])
df2 = pd.DataFrame(df[['DAY HOURS', 'DAY RATES']].values, columns=columns, index=df['OFFICE NO'])
print(df2)
输出:
DAY JOB
HOURS RATES
OFFICE NO
101 8 60
102 8 60
推荐阅读
- c# - Slack 机器人不解释 json 消息
- python - Spacy ValueError:[E103] 试图设置冲突的文档
- html - 如何修复超出边界的链接(a-tag)动画?
- android - 如何绑定edittext属性android:启用viewmodel数据?
- amazon-cloudformation - 使用模板创建 Athena 工作组
- python - python类初始化引用现有列表的自定义类
- c# - 我需要使用 C# 中的替换功能将 : 替换为 ":" 形成字符串 "AAAA:123346hadhdhajkkd890" 结果如 "AAAA":"123346hadhdhajkkd890"
- c# - 如何从 web api 控制器发送 csv 格式的数据以响应客户端以创建可视化
- javascript - 指定为解释语言的用户空间
- javascript - 用概率绘图