如标题所述,我想旋转我的数据框(我认为它需要旋转?)
假设我有一个看起来像这样的 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/