我有以下数据框
import pandas as pd
d = {'value': ['value1', 'value2', 'value3'], 'key': ['key1', 'key1', 'key2']}
df = pd.DataFrame(data=d)
我需要将其转换为以下形式的字典
{
'key1': ['value1', 'value2'],
'key2': ['value2']
}
我尝试了df.to_dict()
,但是字典中的条目格式不正确。我该怎么办?
答案 0 :(得分:2)
让我们尝试groupby
:
df.groupby('key')['value'].agg(list).to_dict()
# run time
# 897 µs ± 50.2 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)
或者:
{k:list(x) for k,x in df.groupby('key')['value']}
# run time
# 376 µs ± 14.8 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)
输出:
{'key1': ['value1', 'value2'], 'key2': ['value3']}