我有一个像这样的数据框
data = np.zeros((3,), dtype=[('A', 'a10'), ('B', 'f4'), ('C', 'f4')])
data[:] = [('key1', 1, 2), ('key2', 3, 4), ('key3', 5, 6)]
df = pd.DataFrame(data)
我希望将它转换为数据帧的字典,第一列是字典的关键字。我怎样才能创建这样的字典?
答案 0 :(得分:3)
试试这个:
data = np.zeros((3,), dtype=[('A', 'a10'), ('B', 'f4'), ('C', 'f4')])
data[:] = [('key1', 1, 2), ('key2', 3, 4), ('key3', 5, 6)]
df = pd.DataFrame(data)
df
:
A B C
0 b'key1' 1 2
1 b'key2' 3 4
2 b'key3' 5 6
转换:
df.set_index('A').T.to_dict()
结果:
{b'key1': {'B': 1.0, 'C': 2.0},
b'key2': {'B': 3.0, 'C': 4.0},
b'key3': {'B': 5.0, 'C': 6.0}}