要 dict 的数据框,其中一列是键,另一列是值 [重复]
Posted
技术标签:
【中文标题】要 dict 的数据框,其中一列是键,另一列是值 [重复]【英文标题】:dataframe to dict such that one column is the key and the other is the value [duplicate] 【发布时间】:2019-05-25 06:10:50 【问题描述】:我有数据框
ID A B C
0 p 1 3 2
1 q 4 3 2
2 r 4 0 9
我想创建一个字典,其中 ID 是键,B 是值,所以它将是:
d["q"] = 3 , d["r"] = 0
最好的方法是什么?
它与假设的重复不同,因为我想要每个键的单个值而不是列表
【问题讨论】:
【参考方案1】:df = pd.DataFrame([['p',1,3,2],['q',4,3,2],['r',4,0,9]], columns=['ID','A','B','C'])
df=df[['ID','A','B','C']]
df
ID A B C
0 p 1 3 2
1 q 4 3 2
2 r 4 0 9
your_dict = dict(zip(df.ID, df.B))
your_dict
'p': 3, 'q': 3, 'r': 0
【讨论】:
【参考方案2】:类似这样的:
In [27]: df
Out[27]:
ID A B C
0 p 1 3 2
1 q 4 3 2
2 r 4 0 9
In [30]: df.set_index('ID',inplace=True)
In [31]: df
Out[31]:
A B C
ID
p 1 3 2
q 4 3 2
r 4 0 9
In [33]: df.to_dict()['B']
Out[33]: 'p': 3, 'q': 3, 'r': 0
【讨论】:
以上是关于要 dict 的数据框,其中一列是键,另一列是值 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何将三列合并为两列,一列是分类的,另一列是数字的? (蟒蛇熊猫)