我有一个 Pandas DataFrame,看起来像:
ID result
1 [.1,.5]
2 [.4,-.2,-.3,.1,0]
3 [0,.1,.6]
如何将这一列列表分成两列?
想要的结果:
ID result_1 result_2 result_3 result_4 result_5
1 .1 .5 NaN NaN NaN
2 .4 -.2 -.3 .1 0
3 0 .1 .6 NaN NaN
我深入研究了一下,发现了这一点:将 Pandas 的列表列拆分为多列
但这似乎只适用于具有固定数量元素的列表。
提前非常感谢您。
您可以按照链接帖子中的建议执行此操作。
import pandas as pd
# your example code
data = {"ID": [1, 2, 3], "result": [[0.1, 0.5], [0.4, -0.2, -0.3, 0.1, 0], [0, 0.1, 0.6]]}
df = pd.DataFrame(data)
print(df)
# answer
out = df[['ID']].join(
pd.DataFrame(df['result'].tolist())
.rename(columns=lambda x: f'result_{x + 1}')
)
print(out)