gpt4 book ai didi

python - 将数据框列中的元组列表拆分为数据框的列

转载 作者:行者123 更新时间:2023-11-28 17:15:07 24 4
gpt4 key购买 nike

我有一个数据框,其中一列包含元组列表。我需要将列表元组拆分为相应的列。我的数据框 df 如下所示:-

          A                                        B
[('Apple',50),('Orange',30),('banana',10)] Winter
[('Orange',69),('WaterMelon',50)] Summer

预期的输出应该是:

    Fruit         rate             B
Apple 50 winter
Orange 30 winter
banana 10 winter
Orange 69 summer
WaterMelon 50 summer

最佳答案

您可以使用 DataFrame构造函数 numpy.repeatnumpy.concatenate :

df1 = pd.DataFrame(np.concatenate(df.A), columns=['Fruit','rate']).reset_index(drop=True)
df1['B'] = np.repeat(df.B.values, df['A'].str.len())
print (df1)
Fruit rate B
0 Apple 50 Winter
1 Orange 30 Winter
2 banana 10 Winter
3 Orange 69 Summer
4 WaterMelon 50 Summer

另一种使用 chain.from_iterable 的解决方案:

from  itertools import chain

df1 = pd.DataFrame(list(chain.from_iterable(df.A)), columns=['Fruit','rate'])
.reset_index(drop=True)
df1['B'] = np.repeat(df.B.values, df['A'].str.len())
print (df1)
Fruit rate B
0 Apple 50 Winter
1 Orange 30 Winter
2 banana 10 Winter
3 Orange 69 Summer
4 WaterMelon 50 Summer

关于python - 将数据框列中的元组列表拆分为数据框的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44758596/

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