我有一个看起来像这样的 Panda DataFrame:
country year cases population
0 Afghanistan '99 745 19987071
1 Brazil '99 37737 172006362
2 China '99 212258 1272915272
3 Afghanistan '00 2666 20595360
4 Brazil '00 80488 174504898
5 China '00 213766 1280428583
我想添加一个名为“流行”的新列,即该行的病例数除以人口数。这行代码有效:
G['prevalence'] = G['cases'] / G['population']
但是,我想使用 Panda 的 apply 来做同样的事情。这是我正在尝试做的事情:
def get_prev (x, y):
return x / y
def calc_prevalence(G):
assert 'cases' in G.columns and 'population' in G.columns
###
### YOUR CODE HERE
to_return = G.copy()
new_column = to_return.apply(lambda x: get_prev(to_return.population, to_return.cases), axis=1)
to_return['prevalence'] = new_column
return to_return
###
#G_copy = G.copy()
H = calc_prevalence(G)
我得到一个KeyError: 'prevalence'
任何想法我做错了什么?