pandas 在Python中使用其他列中的唯一值创建新列

n8ghc7c1  于 2022-11-27  发布在  Python
关注(0)|答案(1)|浏览(121)

例如,我希望使用另一列中的唯一值在 Dataframe 中创建新列
列1具有以下值:

Apple
Apple
Banana
Strawberry
Strawberry
Strawberry

当我检查列1中的唯一值时,输出将是:

Apple
Banana
Strawberry

现在,我想使用这三个值创建名为“Apple”、“Banana”和“Strawberry”的列,并且我想保持代码的动态性,以适应列1中存在的唯一值的数量
我是Python的新手,任何帮助都将不胜感激!
到目前为止,我一直在通过在数据集中手动创建新列来获取输出,我需要根据列1中的唯一值自动执行此操作

lsmepo6l

lsmepo6l1#

提取唯一值,对它们进行迭代以创建列并填充数据。
在这里我inly把布尔值的基础上与col1值匹配...

df = pd.DataFrame({"col1": ["apple", "apple", "banana", "pineapple", "banana", "apple"]})

数据=

col1
0      apple
1      apple
2     banana
3  pineapple
4     banana
5      apple

变形:
第一次
使用df[u] = (df["col1"] == u).astype(int)

col1  apple  banana  pineapple
0      apple      1       0          0
1      apple      1       0          0
2     banana      0       1          0
3  pineapple      0       0          1
4     banana      0       1          0
5      apple      1       0          0

相关问题