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