相关疑难解决方法(0)

如何从列表列表中制作一个平面列表?

我想知道是否有一条快捷方式可以在Python列表中列出一个简单的列表.

我可以在for循环中做到这一点,但也许有一些很酷的"单行"?我用reduce尝试了,但是我收到了一个错误.

l = [[1, 2, 3], [4, 5, 6], [7], [8, 9]]
reduce(lambda x, y: x.extend(y), l)
Run Code Online (Sandbox Code Playgroud)

错误信息

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<stdin>", line 1, in <lambda>
AttributeError: 'NoneType' object has no attribute 'extend'
Run Code Online (Sandbox Code Playgroud)

python list flatten multidimensional-array

2950
推荐指数
29
解决办法
184万
查看次数

pandas:将一列列表聚合成一个列表

我有以下数据框my_df

name         numbers
----------------------
A             [4,6]
B             [3,7,1,3]
C             [2,5]
D             [1,2,3]
Run Code Online (Sandbox Code Playgroud)

我想将所有数字合并到一个新列表中,因此输出应该是:

 new_numbers
---------------
[4,6,3,7,1,3,2,5,1,2,3]
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

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})
Run Code Online (Sandbox Code Playgroud)

new_df看起来仍然和原来的一样:

              numbers
----------------------
0             [4,6]
1             [3,7,1,3]
2             [2,5]
3             [1,2,3]
Run Code Online (Sandbox Code Playgroud)

我做错了什么?我该如何制作new_df

 new_numbers
---------------
[4,6,3,7,1,3,2,5,1,2,3]
Run Code Online (Sandbox Code Playgroud)

谢谢!

aggregate dataframe python-3.x pandas

3
推荐指数
1
解决办法
2639
查看次数