我有一个输入数据集名称 data.csv
内容是

id ,   name
1  ,  Jone/Elvis/Tom
2  ,  Elvis/Tonny

名称列使用斜杠作为分隔符
我需要处理 data.csv ,我的预期输出是
id, Jone, Elvis, Tom, Toony
1,   1  ,  1   ,  1 ,  0
2,   0  ,  1   ,  0 ,  1

1 表示名称中已经存在列名,0 表示不存在。
如何使用 python 和 pandas 传输输入?

最佳答案

让我们使用带有 .str.get_dummies 参数的 pandas 和 sep:

从剪贴板读入数据帧

df = pd.read_clipboard(sep='\s+\,\s+')
df

输入数据框:
   id            name
0   1  Jone/Elvis/Tom
1   2     Elvis/Tonny

设置索引并使用带有 get_dummies 的字符串访问器:
df1 = df.set_index('id')
df1['name'].str.get_dummies(sep='/').reset_index()

输出:
   id  Elvis  Jone  Tom  Tonny
0   1      1     1    1      0
1   2      1     0    0      1

关于python - 如何使用 python pandas 处理我的数据集?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59507673/

10-12 17:50