python - 将标题转为行
问题描述
我有一个 2 行作为标题的 excel 文件,如下所示:
Day1 Day2
X Y Z X Y Z
product1 10 12 5 18 22 6
product2 9 100 88 123 4 56
如果我用熊猫阅读这个文件,我该怎么做才能让它看起来像这样?
解决方案
这是如何做到的:
df = pd.read_excel('data_to_pivot.xlsx', index_col=0, header=[0,1])
print(df)
Day1 Day2
X Y Z X Y Z
product1 10 12 5 18 22 6
product2 9 100 88 123 4 56
df = df.unstack().reset_index()
df = df.rename(columns={'level_0': 'Day'})
df.Day = df.Day.str.replace('Day', '')
df = df.pivot_table(0, ['level_2', 'Day'], 'level_1')
df = df.reset_index(level=1)
df.index.name = None
df.columns.name = None
print(df)
Day X Y Z
product1 1 10 12 5
product1 2 18 22 6
product2 1 9 100 88
product2 2 123 4 56
推荐阅读
- java - 如何解决 EC2 实例上的连接被拒绝,并启用 2 个 VPC 之间的服务器和客户端之间的通信?
- flutter - 不支持的操作:无法在 Hive 中添加到固定长度列表
- django - 在我的数据库中对项目进行分组和计数
- python - RelaxedOneHotCategorical 的梯度似乎为零
- python - PyQt QMediaPlayer 使用一些(不是全部)视频文件进行帧转发
- python - 使用 python pytesseract 将 PDF 转换为文本
- python - TypeError: cannot unpack non-iterable int object 。当我尝试参加 x 的 len 时,它给了我一个错误消息说它是 float,现在它是 int?
- python - 使用 Pandas 从列中平均选择数据
- nuxt.js - 我可以在 nuxt 内容的 frontmatter 字段中呈现标记吗?
- google-chrome-extension - 任何人都可以帮助我使用谷歌扩展图标吗?