Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将同一密钥的行组合到单个数组中_Python_Pandas - Fatal编程技术网

Python 将同一密钥的行组合到单个数组中

Python 将同一密钥的行组合到单个数组中,python,pandas,Python,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来实现这一点,或者我需要迭代数据并“手动”构建数组? 在这种情况下,数据顺序并不重要 在更一般的情况下,如何组合大小不

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

    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个元素的数组,等等?

使用:

使用
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]
将返回: 数组([0.1,0.4,-0.3,-0.6,-0.3,0.2])

如果要按列附加元素

df.values.flatten(order='F')
然后它将返回:
数组([0.1,-0.6,0.4,-0.3,-0.3,0.2])

在询问之前,您是否尝试过任何方法?如果行的形状为(N,)则此方法有效,但如果行的形状为(N,1),则需要jezrael的解决方案
df=pd.DataFrame([[0.1,0.4,-0.3],[-0.6,-0.3,0.2]])

df.values.flatten()
df.values.flatten(order='F')