python – Pandas Pivot和Merge无法正常工作
发布时间:2020-12-20 11:55:55 所属栏目:Python 来源:网络整理
导读:我的意见是: Col1 Col2 Col3 Col4 Col50 1 Y A PQR 561 1 Y A XYZ 22 1 Y A DEF 203 2 Y B PQR 184 2 Y B XYZ 245 2 Y B DEF 116 3 Y C PQR 207 3 Y C XYZ 48 3 Y C DEF 189 3 Y C HHH 23 我想要的输出是: Col1 Col2 Col3 PQR XYZ DEF HHH0 1 Y A 56 2 20
我的意见是:
Col1 Col2 Col3 Col4 Col5 0 1 Y A PQR 56 1 1 Y A XYZ 2 2 1 Y A DEF 20 3 2 Y B PQR 18 4 2 Y B XYZ 24 5 2 Y B DEF 11 6 3 Y C PQR 20 7 3 Y C XYZ 4 8 3 Y C DEF 18 9 3 Y C HHH 23 我想要的输出是: Col1 Col2 Col3 PQR XYZ DEF HHH 0 1 Y A 56 2 20 NaN 1 2 Y B 18 24 11 NaN 2 3 Y C 20 4 18 23.0 但是,当我这样做时: output = input.pivot_table(index='Col1',columns='Col4',values='Col5') 我明白了: Col1 PQR XYZ DEF HHH 1 56 2 20 NaN 2 18 24 11 NaN 3 20 4 18 23.0 Col1现在是索引 这不是全部 – 所以我尝试并申请: output = output.merge(input,how='left',left_index=True,right_on='Col1') 这只是给了我绝对的垃圾 想法? 解决方法
我认为你需要将Col2和Col3添加到参数索引:
output = input.pivot_table(index=['Col1','Col2','Col3'],values='Col5') .reset_index() print (output) Col4 Col1 Col2 Col3 DEF HHH PQR XYZ 0 1 Y A 20.0 NaN 56.0 2.0 1 2 Y B 11.0 NaN 18.0 24.0 2 3 Y C 18.0 23.0 20.0 4.0 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |