楼主: falseform
2153 2

[问答] python能否实现类似于R的tidyr包的gather和spread效果 [推广有奖]

  • 0关注
  • 0粉丝

已卖:422份资源

硕士生

30%

还不是VIP/贵宾

-

威望
0
论坛币
19000 个
通用积分
1.4873
学术水平
2 点
热心指数
0 点
信用等级
0 点
经验
4941 点
帖子
91
精华
0
在线时间
133 小时
注册时间
2017-9-19
最后登录
2019-8-15

楼主
falseform 发表于 2018-1-23 13:11:24 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
   NAME        TREATMENT.A TREATMENT.B  TREATMENT.C
1  Wilbur          67                 59                      50
2 Petunia         80                 90                       60
3 Gregory          4                  50                      70

转变成

    NAME   TREATMENT score
1  Wilbur TREATMENT.A    67
2 Petunia TREATMENT.A    80
3 Gregory TREATMENT.A    64
4  Wilbur TREATMENT.B    59
5 Petunia TREATMENT.B    90
6 Gregory TREATMENT.B    50
7  Wilbur TREATMENT.C    50
8 Petunia TREATMENT.C    60
9 Gregory TREATMENT.C    70
使用R 的tidyr包gather和 spread 能使用让以上两个表格互相转换请问py有这样的函数吗
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:python spread READ The DYR

沙发
gjinwei 发表于 2018-1-23 16:48:32
这道题有点偏呀,无意中发现了DataFrame.pivot(),正好是你要的结构的逆形式。于是查看unpivot=>DataFrame.melt(),在Notebook中模仿实现如下:
  1. import pandas as pd
  2. #导入原数据
  3. df2=pd.read_excel(r'D:\data2.xlsx')

  4. #直接在Notebook中输出结构
  5. df2.melt(id_vars=['NAME'],value_vars=['TREATMENT.A','TREATMENT.B','TREATMENT.C'],var_name='TREATMENT',value_name='scroe')
复制代码
已有 1 人评分经验 收起 理由
cheetahfly + 100 热心帮助其他会员

总评分: 经验 + 100   查看全部评分

藤椅
飞天玄舞6 在职认证  发表于 2018-1-24 21:31:35
pandas.pivot_table可调参数更多
已有 1 人评分经验 收起 理由
cheetahfly + 100 热心帮助其他会员

总评分: 经验 + 100   查看全部评分

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-27 08:24