我正在尝试创建一个熊猫数据框,其中单个单元格中的条目是一个numpy数组。例如,给定一系列化学化合物-A2B3C4,D1A2J3等,我为它们每个创建一个numpy数组,以便:
firstium - A2B3C4 - [2,3,4,0,0,0,0.....]
secondium - D1A2J3 - [2,0,0,1,......3....]
我想创建一个只有两列的数据框-'name'和'vec',其中name是化合物名称的字符串,而vec具有公式的数组。假设vec的尺寸为1 x 100。
Name vec
firstium [2,3,4,0,0,0...]
secondium [2,0,0,1,.....3.]
等
到目前为止,我一直在做的是创建一个字典式{'name':'vec'}并将其转换为数据框:
Min_dict={}
for ....:
..
Min_dict[min_name]=vec
Min_Dataframe=pd.DataFrame.from_dict(Min_dict,orient='index')
但是,这给了我一个数据框,其中的列与数组的维数一样多,再加上一列。因此,我的数据框的尺寸为数据x101。我需要它为数据x 2
这使对数据进行处理变得很不方便,因为我想将每个数组视为一个信息单元。有人知道我该怎么做吗?
谢谢!
答案 0 :(得分:0)
IIUC:
data = {
'firstium': np.array([2, 3, 4, 0, 0, 0]),
'secondium': np.array([2, 0, 0, 1, 0, 3])
}
pd.Series(data).rename_axis('Name').reset_index(name='Vec')
Name Vec
0 firstium [2, 3, 4, 0, 0, 0]
1 secondium [2, 0, 0, 1, 0, 3]
pd.DataFrame(dict(zip(('Name', 'Vec'), zip(*data.items()))))
Name Vec
0 firstium [2, 3, 4, 0, 0, 0]
1 secondium [2, 0, 0, 1, 0, 3]