gpt4 book ai didi

python - 如何扩大数据框 - Pandas

转载 作者:太空宇宙 更新时间:2023-11-03 13:07:50 24 4
gpt4 key购买 nike

基本上我只想压平(可能不是好词)

例如有数据框:

    A      B            C
0 1 [1,2] [1, 10]
1 2 [2, 14] [2, 18]

我想得到输出:

    A  B1   B2    B3   B4
0 1 1 2 1 10
1 2 2 14 2 18

我试过:

print(pd.DataFrame(df.values.flatten().tolist(), columns=['%sG'%i for i in range(6)], index=df.index))

但没什么好东西。

希望你明白我的意思:)

最佳答案

如果列表长度不同,一般解决方案也有效:

df1 = pd.DataFrame(df['B'].values.tolist())
df2 = pd.DataFrame(df['C'].values.tolist())

df = pd.concat([df[['A']], df1, df2], axis=1)
df.columns = [df.columns[0]] + [f'B{i+1}' for i in range(len(df.columns)-1)]
print (df)
A B1 B2 B3 B4
0 1 1 2 1 10
1 2 2 14 2 18

如果大小相同:

df1 = pd.DataFrame(np.array(df[['B','C']].values.tolist()).reshape(len(df),-1))
df1.columns = [f'B{i+1}' for i in range(len(df1.columns))]
df1.insert(0, 'A', df['A'])
print (df1)
A B1 B2 B3 B4
0 1 1 2 1 10
1 2 2 14 2 18

关于python - 如何扩大数据框 - Pandas ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52421609/

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