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

2024-06-01 13:35:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一本c值的国家词典

stateC =    {
  "Washington" : 3,
  "New York" :  5,
  "Houston":  11,
}

和数据帧:

State       b    
Washington  09   
New York    100    
Houston     55   

我想基于column c中dictionary的键值和column d中有值的b/c来集成该列

State       b    c   d
Washington  09   3   3
New York    100  5   20  
Houston     55   11  5

如何在熊猫身上做到这一点


Tags: 数据newdictionarycolumn国家词典键值state
3条回答

请尝试以下代码:

df['c'] = df['State'].apply(lambda x: stateC[x]) 
df['d'] = df[['b','c']].apply(lambda x: x[0]//x[1], axis=1)
df
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'])

相关问题 更多 >