dataframe to dict 使得一列是键,另一列是值

ore*_*isp 11 python dictionary dataframe pandas

我有数据框

    ID   A   B   C
0   p    1   3   2
1   q    4   3   2
2   r    4   0   9  
Run Code Online (Sandbox Code Playgroud)

我想创建一个字典,其中 ID 是键,B 是值,所以它将是:

d["q"] = 3 , d["r"] = 0

这样做的最佳方法是什么?

它与假设的重复不同,因为我想要每个键的单个值而不是列表

May*_*wal 17

像这样的东西:

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}
Run Code Online (Sandbox Code Playgroud)


cph*_*sto 10

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}
Run Code Online (Sandbox Code Playgroud)


归档时间:

查看次数:

11501 次

最近记录:

5 年,3 月 前