Каков наиболее эффективный способ организовать следующий фрейм данных pandas:
данные =
Position Letter
1 a
2 b
3 c
4 d
5 e
в словарь вроде alphabet[1 : 'a', 2 : 'b', 3 : 'c', 4 : 'd', 5 : 'e']
?
python
dictionary
pandas
dataframe
user1083734
источник
источник
izip
, а неzip
; генератор имеет значение, я думаюЯ нашел более быстрый способ решить проблему, по крайней мере, на реально больших наборах данных, используя:
df.set_index(KEY).to_dict()[VALUE]
Доказательство на 50 000 строках:
Вывод:
источник
В Python 3.6 самым быстрым способом по-прежнему остается способ WouterOvermeire. Предложение Кикоса более медленное, чем два других варианта.
Полученные результаты:
источник
TL; DR
В Лонг
Объясняющее решение:
dict(sorted(df.values.tolist()))
Дано:
[вне]:
Пытаться:
[вне]:
Затем по желанию:
Или:
[вне]:
Наконец, приведите список из 2 элементов в dict.
[вне]:
Связанный
Отвечая на комментарий @sbradbio:
Если для определенного ключа существует несколько значений и вы хотите сохранить их все, это не самый эффективный, но наиболее интуитивно понятный способ:
[вне]:
источник
{'key': [value1, value2]}