gpt4 book ai didi

python - Pandas pivot dataframe 并根据它们是否存在将新列设置为 True/False

转载 作者:行者123 更新时间:2023-12-05 09:33:25 28 4
gpt4 key购买 nike

如标题所述,我想旋转我的数据框(我认为它需要旋转?)

假设我有一个看起来像这样的 df:

df = pd.DataFrame({'ID' : [0, 0, 1, 1, 1], 
'REV' : [0, 0, 1, 1, 1],
'GROUP' : [1, 2, 1, 2, 3]})


+----+-----+-------+
| ID | REV | GROUP |
+----+-----+-------+
| 0 | 0 | 1 |
| 0 | 0 | 2 |
| 1 | 1 | 1 |
| 1 | 1 | 2 |
| 1 | 1 | 3 |
+----+-----+-------+

我想做一些旋转,所以我的表格结果看起来像

+----+-----+------+------+-------+
| ID | REV | 1 | 2 | 3 |
+----+-----+------+------+-------+
| 0 | 0 | True | True | False |
| 1 | 1 | True | True | True |
+----+-----+------+------+-------+

现在 GROUP 列中的值变成了自己的列。这些列中每一列的值都是 T/F,取决于原始 df 是否有该组。

有什么建议吗?这看起来像是一个枢轴的东西,但在使用枢轴方面我是个大菜鸟

最佳答案

尝试使用crosstab

out = pd.crosstab([df.ID,df.REV],df.GROUP).ne(0).reset_index().rename_axis(None,axis=1)
out
ID REV 1 2 3
0 0 0 True True False
1 1 1 True True True

关于python - Pandas pivot dataframe 并根据它们是否存在将新列设置为 True/False,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67319391/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com