我想创建一个字典,其中的键是数据帧的一列中的值,而键是对应行中另一列中的值。
这是一个示例数据框:
df = pd.DataFrame(np.random.randint(0,100,size=(100, 4)), columns=list('ABCD'))
df.head()
A B C D
0 34 99 78 0
1 31 47 44 22
2 53 38 11 27
3 86 84 81 87
4 57 4 23 46
我想获得一个像这样的字典,其中A值作为键,C值作为字典值:
{34: 78, 31: 44, 53: 11, 86: 81,57: 23}
您将如何去做?
答案 0 :(得分:4)
您可以从具有键和元组的元组数组中创建字典。因此,您可以在通过zip
函数将值转换为元组之后直接在这里使用dict构造函数
In [12]: dict(zip(df['A'], df['C']))
Out[12]: {34: 78, 31: 44, 53: 11, 86: 81, 57: 23}
答案 1 :(得分:2)
另一种方法 Series.to_dict
和DataFrame.set_index
df.set_index('A')['C'].to_dict()
# {34: 78, 31: 44, 53: 11, 86: 81, 57: 23}