如何从pandas dataframe列创建字典。这是测试代码:
import pandas as pd
df = pd.DataFrame({
'c0': ['A','A','B'],
'c1': ['b','c','d'],
'c2': [1, 3,4],
'c3': [5,7,8]})
输出:
c0 c1 c2 c3
0 A b 1 5
1 A c 3 7
2 B d 4 8
我想从密钥中获取字典:(c0,c1)和值:(c2)
{('A', 'b'): 1, ('A', 'c'): 3, ('B', 'd'): 4}
答案 0 :(得分:3)
您可以set_index
使用Series.to_dict
- MutiIndex
创建tuples
:
print (df.set_index(['c0','c1'])['c2'].to_dict())
{('B', 'd'): 4, ('A', 'b'): 1, ('A', 'c'): 3}
答案 1 :(得分:0)
我是这样做的
dict(zip(zip(df['c0'], df['c1']), df['c2']))