Python:从excel中的数据创建字典
我有数据Python:从excel中的数据创建字典,python,pandas,dictionary,Python,Pandas,Dictionary,我有数据 sign number result Qjobstatus 1 Работаю полный рабочий день Qjobstatus 2 Работаю неполный рабочий день Qjobstatus 3 Не работаю Qcountry 1 Россия Qcountry 2 Украина Qcountry 3 Беларусь Qcountry 4 Азербайджан Q
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 Молдова
我需要创建字典,其中符号==Qcountry
。
我想去
dict = {1: "Россия",
2: "Украина",
3: "Беларусь", ...}
我试过了
if df.sign.contains('Qcountry'):
dict((ind, el) for (ind, el) in (df.number, df.result))
但它不起作用IIUC然后您可以在np数组上调用
dict
:
In [284]:
dict(df.loc[df['sign']=='Qcountry','number':].values)
Out[284]:
{1: 'Россия',
2: 'Украина',
3: 'Беларусь',
4: 'Азербайджан',
5: 'Армения',
6: 'Грузия',
7: 'Казахстан',
8: 'Кыргызстан',
9: 'Молдова'}
IIUC然后您可以在np数组上调用
dict
:
In [284]:
dict(df.loc[df['sign']=='Qcountry','number':].values)
Out[284]:
{1: 'Россия',
2: 'Украина',
3: 'Беларусь',
4: 'Азербайджан',
5: 'Армения',
6: 'Грузия',
7: 'Казахстан',
8: 'Кыргызстан',
9: 'Молдова'}
有点迂回的方法,但请尝试:
df = df[df['sign'] == 'Qcountry']
transposed = df.T.to_dict()
result = {transposed[item]['number']: transposed[item]['result']
for item in transposed}
有点迂回的方法,但请尝试:
df = df[df['sign'] == 'Qcountry']
transposed = df.T.to_dict()
result = {transposed[item]['number']: transposed[item]['result']
for item in transposed}
解决方案包括:
解决方案包括:
你能告诉我,为什么它会打印我吗?{1L:u'\u0420\u043e\u0441\u0441\u0438\u044f',2L:u'\u0423\u043a\u0440\u0430\u0438\u043d\u0430',3L:u'\u0411\u0435\u043b\u0430\u0440\u0440\u0443\u0441\u044c',…}?你在运行python 2吗?我正在运行Python3,因此unicode被正确地处理。我认为您需要首先解码字符串,您是否能够使用Python3,因为这类东西可以轻松地工作?您可以说,为什么它打印我
{1L:u'\u0420\u043e\u0441\u0441\u0438\u044f',2L:u'\u0423\u043a\u0440\u0430\u0438\u043d\u0430',3L:u'\u0411\u0435\u043b\u0430\u0440\u0441\u044c',…}
?您正在运行python 2吗?我正在运行python 3,因此unicode的处理是正确的。我认为您需要首先解码字符串,您是否能够使用python 3,因为这类东西可以正常工作而不会带来任何麻烦