我有一个包含许多数组的列表。
coef
[array([[1.72158862]]),
array([[3.28338167]]),
array([[3.28004542]]),
array([[6.04194548]])]
将其放入dataframe中:
azone = pd.DataFrame(
{'zone': zone,
'coef': coef
})
zone coef
0 1 [[1.7215886175218464]]
1 2 [[3.283381665861124]]
我想知道是否有方法可以去掉括号。我尝试了tolist(),但没有给出结果。
另一个列表:
value
[[array([8.46565297e-294, 1.63877641e-002]),
array([1.46912451e-220, 2.44570170e-003]),
array([3.80589351e-227, 4.41242801e-004])]
我只想保留第二个值。所需的输出为:
value
0 1.63877641e-002
1 2.44570170e-003
2 4.41242801e-004
发布于 2018-07-04 08:42:09
您可以使用NumPy的flatten
方法从多维数组列表中提取一维数组。例如:
coef = [np.array([[1.72158862]]),
np.array([[3.28338167]]),
np.array([[3.28004542]]),
np.array([[6.04194548]])]
coef = np.array(coef).flatten()
print(coef)
array([1.72158862, 3.28338167, 3.28004542, 6.04194548])
由于NumPy数组是Pandas数据帧的底层,您会发现您的Pandas coef
系列现在将是dtype float
,并且只包含标量。
https://stackoverflow.com/questions/51164408
复制相似问题