Python:从excel中的数据创建字典

时间:2016-07-29 10:50:50

标签: python pandas dictionary

我有数据

   sign   number    result
Qjobstatus  1   Работаю полный рабочий день
Qjobstatus  2   Работаю неполный рабочий день
Qjobstatus  3   Не работаю
Qcountry    1   Россия
Qcountry    2   Украина
Qcountry    3   Беларусь
Qcountry    4   Азербайджан
Qcountry    5   Армения
Qcountry    6   Грузия
Qcountry    7   Казахстан
Qcountry    8   Кыргызстан
Qcountry    9   Молдова

我需要在sign == Qcountry创建字典。 我想得到

dict = {1: "Россия",
        2: "Украина",
        3: "Беларусь", ...}

我试过

if df.sign.contains('Qcountry'):
    dict((ind, el) for (ind, el) in (df.number, df.result))

但它不起作用

3 个答案:

答案 0 :(得分:2)

IIUC然后你可以在np数组上调用End If

dict

答案 1 :(得分:1)

有点迂回的方法,但尝试:

df = df[df['sign'] == 'Qcountry']

transposed = df.T.to_dict()
result = {transposed[item]['number']: transposed[item]['result']
       for item in transposed}

答案 2 :(得分:1)

to_dict的解决方案:

print (df[df['sign']=='Qcountry'].set_index('number')['result'].to_dict())
{1: 'Россия', 
 2: 'Украина', 
 3: 'Беларусь', 
 4: 'Азербайджан', 
 5: 'Армения', 
 6: 'Грузия', 
 7: 'Казахстан', 
 8: 'Кыргызстан', 
 9: 'Молдова'}