gpt4 book ai didi

python-3.x - Pandas :将一列列表聚合成一个列表

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

我有以下数据框my_df:

name         numbers
----------------------
A [4,6]
B [3,7,1,3]
C [2,5]
D [1,2,3]

我想将所有数字组合成一个新列表,所以输出应该是:

 new_numbers
---------------
[4,6,3,7,1,3,2,5,1,2,3]

这是我的代码:

def combine_list(my_lists):
new_list = []
for x in my_lists:
new_list.append(x)

return new_list

new_df = my_df.agg({'numbers': combine_list})

但是 new_df 看起来和原来的一样:

              numbers
----------------------
0 [4,6]
1 [3,7,1,3]
2 [2,5]
3 [1,2,3]

我做错了什么?我如何使 new_df 像:

 new_numbers
---------------
[4,6,3,7,1,3,2,5,1,2,3]

谢谢!

最佳答案

你需要flatten值,然后通过构造函数创建新的 Dataframe:

flatten = [item for sublist in df['numbers'] for item in sublist]

或者:

flatten = np.concatenate(df['numbers'].values).tolist()

或者:

from  itertools import chain

flatten = list(chain.from_iterable(df['numbers'].values.tolist()))

df1 = pd.DataFrame({'numbers':[flatten]})

print (df1)
numbers
0 [4, 6, 3, 7, 1, 3, 2, 5, 1, 2, 3]

时间here .

关于python-3.x - Pandas :将一列列表聚合成一个列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46897138/

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