gpt4 book ai didi

python - pandas 使用值中的名称创建列并用 True/False 替换

转载 作者:行者123 更新时间:2023-12-02 07:16:35 25 4
gpt4 key购买 nike

我有一个这样的数据框:

df = pd.DataFrame({"id":[1, 1, 1, 2, 2, 2, 2, 3, 3], "val":["A12", "B23", "C34", "A12", "C34", "E45", "F56", "G67", "B23"]})
print(df)
   id  val
0 1 A12
1 1 B23
2 1 C34
3 2 A12
4 2 C34
5 2 E45
6 2 F56
7 3 G67
8 3 B23

如何将它转换成这样?

   id  A12  B23  C34  E45  F56  G67
0 1 1 1 1 0 0 0
1 2 1 0 1 1 1 0
2 3 0 1 0 0 0 1

我尝试了 pivot 和 unstack,但由于每个“id”的“val”列中值的数量可能不同,我无法创建列的主列表,然后以某种方式填充这些列中的值.请帮忙。

最佳答案

尝试交叉表:

pd.crosstab(df.id, df.val).reset_index()

关于python - pandas 使用值中的名称创建列并用 True/False 替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61841921/

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