2016-03-07 32 views
1

我有一个熊猫数据帧如下转换熊猫据帧到字典中使用多列的关键

From_email,To_email,email_count 
[email protected],[email protected],1 
[email protected],[email protected],1 
"<""[email protected]""[email protected]@enron.com>",[email protected],1 

我想将其更改为以下格式

hrc_dict = {('[email protected]', '[email protected]'): 1, 
      ('[email protected]', '[email protected]'): 1, 
      ('<"[email protected]"[email protected]@enron.com>', '[email protected] '): 1} 

的字典是什么做到这一点的最佳方式?

回答

2

您可以使用dict comprehensionDataFrame创建dict

df = DataFrame({ 
    'From_email': ['[email protected]', '[email protected]', '<"[email protected]"[email protected]@enron.com>'], 
    'To_email': ['[email protected]', '[email protected]on.com', '[email protected]'], 
    'email_count': [1, 1, 1]}) 

d = {tuple(x[:2]):x[2] for x in df[['From_email', 'To_email', 'email_count']].values} 

首先我们明确抢所需的顺序从数据帧所需的列。然后遍历行和每行,从电子邮件地址(前两列)创建一个元组,并将其用作关键字。该值只是第3列(email_count

+0

谢谢。有效。 – AJV

+0

@AJV如果这有效,请考虑将其标记为帮助后来偶然发现的人的答案。 – Suever