Python 如何根据字典中的键值逐行向数据帧列添加值?

Python 如何根据字典中的键值逐行向数据帧列添加值?,python,pandas,Python,Pandas,我有一本c值的国家词典 stateC = { "Washington" : 3, "New York" : 5, "Houston": 11, } 和数据帧: State b Washington 09 New York 100 Houston 55 我想根据列c中字典的键值以及列d中有值的b/c集成该列 State b c d Washington 09 3 3 New York

我有一本c值的国家词典

stateC =    {
  "Washington" : 3,
  "New York" :  5,
  "Houston":  11,
}
和数据帧:

State       b    
Washington  09   
New York    100    
Houston     55   
我想根据
列c
中字典的键值以及
列d
中有值的
b/c
集成该列

State       b    c   d
Washington  09   3   3
New York    100  5   20  
Houston     55   11  5
如何在熊猫身上做到这一点

df['c'] = df['State'].map(stateC)
df['d'] = df['b']/df['c']
您可以创建一个与State列相同的新列,然后映射dict。d列非常简单。

尝试:

df['c']=df['State'].map(stateC)
df['d']=df['b'].astype(int).div(df['c'])
尝试以下代码:

df['c'] = df['State'].apply(lambda x: stateC[x]) 
df['d'] = df[['b','c']].apply(lambda x: x[0]//x[1], axis=1)
df

使用地图非常简单。谢谢,到底是什么问题?你试过什么,做过什么研究吗?堆栈溢出不是免费的代码编写服务。请看:,。这是否回答了您的问题?问题的第一部分与上面的完全相同,而第二部分则无关紧要。