gpt4 book ai didi

python - Pandas :将不等长列表的列拆分为多列

转载 作者:太空狗 更新时间:2023-10-29 20:35:05 24 4
gpt4 key购买 nike

我有一个如下所示的 Pandas 数据框:

                   codes
1 [71020]
2 [77085]
3 [36415]
4 [99213, 99287]
5 [99233, 99233, 99233]

我正在尝试将 df['codes'] 中的列表拆分为列,如下所示:

                   code_1      code_2      code_3   
1 71020
2 77085
3 36415
4 99213 99287
5 99233 99233 99233

没有值的列(因为列表不是那么长)用空白或 NaN 或其他东西填充。

我见过像 this one 这样的答案和其他类似的方法,虽然它们在等长列表上工作,但当我尝试在不等长列表上使用这些方法时,它们都会抛出错误。有什么好的方法吗?

最佳答案

尝试:

pd.DataFrame(df.codes.values.tolist()).add_prefix('code_')

code_0 code_1 code_2
0 71020 NaN NaN
1 77085 NaN NaN
2 36415 NaN NaN
3 99213 99287.0 NaN
4 99233 99233.0 99233.0

包含索引

pd.DataFrame(df.codes.values.tolist(), df.index).add_prefix('code_')

code_0 code_1 code_2
1 71020 NaN NaN
2 77085 NaN NaN
3 36415 NaN NaN
4 99213 99287.0 NaN
5 99233 99233.0 99233.0

我们可以用这个来确定所有的格式:

f = lambda x: 'code_{}'.format(x + 1)
pd.DataFrame(
df.codes.values.tolist(),
df.index, dtype=object
).fillna('').rename(columns=f)

code_1 code_2 code_3
1 71020
2 77085
3 36415
4 99213 99287
5 99233 99233 99233

关于python - Pandas :将不等长列表的列拆分为多列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44663903/

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