我对Pandas 不熟悉.我试图将列中的项目移动到dataframe的列中.我挣扎了好几个小时,但还是做不到.

MWE

import numpy as np
import pandas as pd

df = pd.DataFrame({
    'X': [10,20,30,40,50],
    'Y': [list('abd'), list(), list('ab'),list('abefc'),list('e')]
})

print(df)
    X                Y
0  10        [a, b, d]
1  20               []
2  30           [a, b]
3  40  [a, b, e, f, c]
4  50              [e]

如何得到这样的结果:

    X  a  b  c  d  e
0  10  1  1  0  1  0
1  20  0  0  0  0  0
2  30  1  1  0  0  0
3  40  1  1  1  0  1
4  50  0  0  0  0  1

推荐答案

你可以试试pandas.Series.str.get_dummies

out = df[['X']].join(df['Y'].apply(','.join).str.get_dummies(sep=','))
print(out)

    X  a  b  c  d  e  f
0  10  1  1  0  1  0  0
1  20  0  0  0  0  0  0
2  30  1  1  0  0  0  0
3  40  1  1  1  0  1  1
4  50  0  0  0  0  1  0

Python相关问答推荐

无法通过python-jira访问jira工作日志(log)中的 comments

Pandas—合并数据帧,在公共列上保留非空值,在另一列上保留平均值

对象的`__call__`方法的setattr在Python中不起作用'

有没有一种ONE—LINER的方法给一个框架的每一行一个由整数和字符串组成的唯一id?

改进大型数据集的框架性能

让函数调用方程

Python Pandas获取层次路径直到顶层管理

导入错误:无法导入名称';操作';

如何按row_id/row_number过滤数据帧

删除特定列后的所有列

为罕见情况下的回退None值键入

Django抛出重复的键值违反唯一约束错误

随机森林n_估计器的计算

普洛特利express 发布的人口普查数据失败

如何删除剪裁圆的对角线的外部部分

使用元组扩展字典的产品挑战

Python:使用asyncio.StreamReader.readline()读取长行

如何有效地计算所有输出相对于参数的梯度?

使用pytest测试是否缺少导入

如何使用Pillow基于二进制掩码设置PNG的RGB值