Python 如何根据字典中的键值逐行向数据帧列添加值?
我有一本c值的国家词典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
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
使用地图非常简单。谢谢,到底是什么问题?你试过什么,做过什么研究吗?堆栈溢出不是免费的代码编写服务。请看:,。这是否回答了您的问题?问题的第一部分与上面的完全相同,而第二部分则无关紧要。