gpt4 book ai didi

python - 如何将一列的所有项目移动到 Pandas 的列中?

转载 作者:行者123 更新时间:2023-12-05 01:23:35 26 4
gpt4 key购买 nike

我是 Pandas 的新手。我正在尝试将列的项目移动到数据框的列。我挣扎了几个小时,但做不到。

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

最佳答案

多标签二进制化器

from sklearn.preprocessing import MultiLabelBinarizer

mlb = MultiLabelBinarizer()
df[mlb.classes_] = mlb.fit_transform(df['Y'])

Pandas 替代品

df.join(df['Y'].explode().str.get_dummies().groupby(level=0).max())

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

关于python - 如何将一列的所有项目移动到 Pandas 的列中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72218898/

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