将python列表中的数组转换为pandas,最终转换为df.sum()

问题描述 投票:0回答:1

我的数据如下所示。它全部在数组格式的列表中。最后,我试图在Python列表中总结所有这些值。熊猫是最好的选择吗?我正在尝试创建一个名为test.的数据框

import pandas as pd
import numpy as np


test = [array([[1083.8748]], dtype=float32), array([[998.98773]], dtype=float32), array([[1137.0487]], dtype=float32), array([[1077.2798]], dtype=float32), array([[926.41284]], dtype=float32),
array([[1030.7125]], dtype=float32), array([[1028.0048]], dtype=float32), array([[523.9799]], dtype=float32), array([[1125.092]], dtype=float32), array([[1119.7738]], dtype=float32),
array([[918.6966]], dtype=float32), array([[1112.5186]], dtype=float32), array([[555.6942]], dtype=float32), array([[1096.5643]], dtype=float32), array([[826.35657]], dtype=float32),
array([[1014.35406]], dtype=float32), array([[1027.6962]], dtype=float32), array([[924.20087]], dtype=float32), array([[1035.217]], dtype=float32), array([[1008.9658]], dtype=float32),
array([[970.54047]], dtype=float32), array([[847.0671]], dtype=float32), array([[913.5519]], dtype=float32), array([[1047.0747]], dtype=float32), array([[920.0606]], dtype=float32),
array([[994.2266]], dtype=float32), array([[991.4501]], dtype=float32), array([[972.43256]], dtype=float32), array([[934.8802]], dtype=float32), array([[912.04004]], dtype=float32), array([[1131.297]], dtype=float32)]


df = pd.DataFrame(test)

print(test.sum())

这失败了,错误:NameError: name 'array' is not defined

谁能给我一个提示?谢谢

python pandas data-science
1个回答
0
投票

错误已经指向正确的方向。

# Your case
array([1,2], dtype=float32)

# Output
NameError: name 'array' is not defined


#Correct case
np.array([1,2], dtype='float32')

# Output
array([1., 2.], dtype=float32)

所以你的情况有两个问题array应该是np.arrayfloat32应该是'float32'

加 你无法通过pd.DataFrame 1d阵列。所以在这种情况下你可以使用pd.Series。继承你修改的代码:

test = [np.array([[1083.8748]], dtype='float32'), np.array([[998.98773]], dtype='float32'), np.array([[1137.0487]], dtype='float32'), np.array([[1077.2798]], dtype='float32'), np.array([[926.41284]], dtype='float32'),
np.array([[1030.7125]], dtype='float32'), np.array([[1028.0048]], dtype='float32'), np.array([[523.9799]], dtype='float32'), np.array([[1125.092]], dtype='float32'), np.array([[1119.7738]], dtype='float32'),
np.array([[918.6966]], dtype='float32'), np.array([[1112.5186]], dtype='float32'), np.array([[555.6942]], dtype='float32'), np.array([[1096.5643]], dtype='float32'), np.array([[826.35657]], dtype='float32'),
np.array([[1014.35406]], dtype='float32'), np.array([[1027.6962]], dtype='float32'), np.array([[924.20087]], dtype='float32'), np.array([[1035.217]], dtype='float32'), np.array([[1008.9658]], dtype='float32'),
np.array([[970.54047]], dtype='float32'), np.array([[847.0671]], dtype='float32'), np.array([[913.5519]], dtype='float32'), np.array([[1047.0747]], dtype='float32'), np.array([[920.0606]], dtype='float32'),
np.array([[994.2266]], dtype='float32'), np.array([[991.4501]], dtype='float32'), np.array([[972.43256]], dtype='float32'), np.array([[934.8802]], dtype='float32'), np.array([[912.04004]], dtype='float32'), np.array([[1131.297]], dtype='float32')]

df = pd.Series(test)
print(df.head())

0    [[1083.8748]]
1    [[998.98773]]
2    [[1137.0487]]
3    [[1077.2798]]
4    [[926.41284]]
© www.soinside.com 2019 - 2024. All rights reserved.