python - 在熊猫中将行转换为列
问题描述
我在熊猫数据框中有以下结构中的数据
User day games_won games_draw games_lost tips_taken
user1 1 10 4 2 5
user2 1 16 7 1 3
user1 2 2 8 7 0
我希望它被转换成以下格式
User day games_won_day1 games_won_day2 games_draw_day1 games_draw_day2 games_lost_day1 games _lost_day2 tips_taken_day1 tips_taken_day2
解决方案
您可以从设置索引开始,然后取消堆叠。最后,修复标题。
df2 = df.set_index(['User', 'day']).unstack()
df2.columns = df2.columns.map('{0[0]}_day{0[1]}'.format)
df2
games_won_day1 games_won_day2 games_draw_day1 games_draw_day2 games_lost_day1 games_lost_day2 tips_taken_day1 tips_taken_day2
User
user1 10.0 2.0 4.0 8.0 2.0 7.0 5.0 0.0
user2 16.0 NaN 7.0 NaN 1.0 NaN 3.0 NaN
如果您不希望“用户”作为输出中的索引,您可以在之后将其重置。但是,我认为保留是有道理的。
推荐阅读
- shell - 使用 find 查找最长 7 个字符的点文件
- mysql - SQL 查询 - 记录数
- java - 带有 JAVA 服务加载器的单例设计模式
- firebase - 使用firebase注册新用户并做出本机反应后,如何返回登录页面?
- vba - 如何在 VBA 中使用多个错误处理程序
- java - 插入 Json 值时出现 Spring JPA 异常(使用 hibernate-types-52)
- javascript - VueRouter this.$route 未定义
- sql - hadoop中空格后的子字符串
- ios - iOS 应用程序的新要求 - 让用户/客户可以访问它们
- c# - 来自 kinect (v1) c# 的红外流