gpt4 book ai didi

python - 将相同键的行组合成单个数组

转载 作者:行者123 更新时间:2023-11-30 22:35:46 26 4
gpt4 key购买 nike

我有一个 pandas 数据框,如下所示:

    error
0: [[0.1,0.4,-0.3]]
1: [[-0.6,-0.3,0.2]]
.
.
.
99: [[0.4,-0.7,0.1]]

我想将所有值组合到一个数组中,如下所示:

 [0.1,0.4,-0.3,-0.6,-0.3,0.2,...,0.4,-0.7,0.1]

有没有一种快速的方法可以使用 pandas 来执行此操作,或者我是否需要迭代数据并“手动”构建数组?在这种情况下,数据顺序并不重要。

在更一般的情况下,如何组合大小不同的数组(例如第 0 行包含 3 个元素的数组,第 1 行包含 6 个元素的数组等...)?

最佳答案

使用numpy.ravel :

L = np.array(df['error'].values.tolist()).ravel().tolist()
print (L)
[0.1, 0.4, -0.3, -0.6, -0.3, 0.2, 0.4, -0.7, 0.1]

使用str[0]来选择嵌套列表的更通用解决方案:

print (df)
error
0 [[0.1,0.4,-0.3]]
1 [[-0.6,-0.3]]
99 [[0.4,-0.7,0.1]]

from itertools import chain

L = list(chain.from_iterable(df['error'].str[0]))
print (L)
[0.1, 0.4, -0.3, -0.6, -0.3, 0.4, -0.7, 0.1]

L = np.concatenate(df['error'].str[0].values).tolist()
print (L)
[0.1, 0.4, -0.3, -0.6, -0.3, 0.4, -0.7, 0.1]

关于python - 将相同键的行组合成单个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44414596/

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