1
我是从一个Python字典创建大熊猫数据帧:熊猫数据帧生成不一致
import numpy as np
import pandas as pd
obs_dict = {
'pos':[[0,0],[10,10]],
'vel':[[0,0],[0,0]],
'mass':np.array([10000,10000])
}
print pd.DataFrame(obs_dict)
返回:
mass pos vel
0 10000 [0, 0] [0, 0]
1 10000 [10, 10] [0, 0]
请注意,我有一个二维列表中的位置的项目(” pos')和速度('vel')列。然而,当我用2D numpy的阵列替换2D名单:
obs_dict = {
'pos':np.array([[0,0],[10,10]]),
'vel':np.array([[0,0],[0,0]]),
'mass':np.array([10000,10000])
}
我得到一个异常:
Exception: Data must be 1-dimensional
不幸的是,我使用的数据包含在numpy的阵列中,我不想将它转换为python列表,有什么办法可以使这项工作?
列表的列表与2d numpy数组不同,我想你需要'np.array([[0,0],[10,10]])。tolist()'得到相同的行为作为列表 –
你希望作为列值存储什么?基本上它不会工作,试图存储二维数组,因为它会检查尺寸,你会发现,下面的作品,但我不知道这是你想要的:'obs_dict = { 'pos ':[np.array([[0,0],[10,10]])], 'vel':[np.array([[0,0],[0,0]])], '质量':[np.array([10000,10000])] } – EdChum
@EdChum这导致只有一行,我想要两行(每个位置,速度和质量) – abc