转换熊猫据帧到字典中使用多列的关键
问题描述:
我有一个熊猫数据帧如下转换熊猫据帧到字典中使用多列的关键
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}
的字典是什么做到这一点的最佳方式?
答
您可以使用dict
comprehension从DataFrame
创建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
)
谢谢。有效。 – AJV
@AJV如果这有效,请考虑将其标记为帮助后来偶然发现的人的答案。 – Suever