gpt4 book ai didi

python - 分解多个 Pandas 列并取消嵌套一列作为列名

转载 作者:行者123 更新时间:2023-12-04 08:08:01 24 4
gpt4 key购买 nike

我有以下 Pandas 数据框:


姓名
分数

[A, B, C][1, 2, 0][A, B][1, 0][B, D][2, 0][A, B, C, D][1, 2,3,4]

我想获得以下 Pandas 数据框:


一种

C
D


1
2
0
不适用

1
0
不适用
不适用

不适用
2
不适用
0

1
2
3
4


到目前为止,我已经完成了以下工作:

l_df = []
for i in range(len(df)):
df_ = pd.DataFrame(data = [df.iloc[i]['score']], columns = df.iloc[i]['name'])
l_df.append(df_)
pdf_risk_all = pd.concat(l_df)
但是,这需要很长时间,而且对于行数大于 1MM 的数据集来说并不好。有什么建议可以更有效地做到这一点吗?
谢谢,

最佳答案

咱们试试吧:

(pd.concat([df['name'].explode(), df['score'].explode()], axis=1)
.set_index('name',append=True)
['score'].unstack()
)
输出:
name    A  B    C    D
0 1 2 0 NaN
1 1 0 NaN NaN
2 NaN 2 NaN 0
3 1 2 3 4

关于python - 分解多个 Pandas 列并取消嵌套一列作为列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66125774/

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