gpt4 book ai didi

Python - 使用 Split 将列分成多列

转载 作者:太空狗 更新时间:2023-10-30 02:42:58 26 4
gpt4 key购买 nike

我有一个像这样的 Pandas 数据框 {B 中的每一行都是一个字符串,其值与 | 连接符号}:

A B
a 1|2|3
b 2|4|5
c 3|2|5

我想创建列来说明该值是否存在于该行(B 列)中:

A B     1 2 3 4 5
a 1|2|3 1 1 1 0 0
b 2|4|5 0 1 0 1 1
c 3|5 0 0 1 0 1

我已经通过循环列来尝试这个。但是,它可以使用 lambda 或理解来完成吗?

最佳答案

你可以试试get_dummies :

print df
A B
0 a 1|2|3
1 b 2|4|5
2 c 3|2|5

print df.B.str.get_dummies(sep='|')
1 2 3 4 5
0 1 1 1 0 0
1 0 1 0 1 1
2 0 1 1 0 1

如果您需要旧列 B,请使用 join :

print df.join(df.B.str.get_dummies(sep='|'))
A B 1 2 3 4 5
0 a 1|2|3 1 1 1 0 0
1 b 2|4|5 0 1 0 1 1
2 c 3|2|5 0 1 1 0 1

关于Python - 使用 Split 将列分成多列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34942864/

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