来自pandas dataframe列的列

时间:2016-12-16 21:34:10

标签: python pandas dictionary tuples

如何从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}

2 个答案:

答案 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']))