使用函数遍历 Dataframe 中的行并计算非 NA 值
Iterate through rows in Dataframe using a function and count the non NA values
我的数据框:billboard_2
我需要使用一个应用函数和一个简单的 python 函数来计算一首歌在广告牌上的周数。但是显然,我做不到。
我设法通过 lambda 函数做到了,但我应该使用 apply 函数。我得到的 lambda 函数的输出正是我使用普通函数所需要的。
WeeklyRating = billboard_2.apply(lambda x : x.count()-1, axis=1)
WeeklyRating
使用lambda函数输出
我尝试将该 lambda 函数转换为普通函数,但每次我都会遇到一些错误。
以下是我尝试过的方法,我收到一条错误消息 - 'Series' 对象没有属性 'iterrows'.
def bill_week(val):
for i, row in val.iterrows():
return(row.count()-1)
billboard_2.apply(bill_week)
我想我想问的是如何将该 lambda 函数转换为普通函数。
count(axis=1)
更别提给没有了。连续的非 na 值
billboard_2.count(axis=1)
如果你想使用.apply
def count_non_na(x):
return x.isna().sum()
billboard_2.apply(count_non_na, axis=1)
结合lambda
billboard_2.apply(lambda x: x.isna().sum(), axis=1)
我的数据框:billboard_2
我需要使用一个应用函数和一个简单的 python 函数来计算一首歌在广告牌上的周数。但是显然,我做不到。
我设法通过 lambda 函数做到了,但我应该使用 apply 函数。我得到的 lambda 函数的输出正是我使用普通函数所需要的。
WeeklyRating = billboard_2.apply(lambda x : x.count()-1, axis=1)
WeeklyRating
使用lambda函数输出
我尝试将该 lambda 函数转换为普通函数,但每次我都会遇到一些错误。 以下是我尝试过的方法,我收到一条错误消息 - 'Series' 对象没有属性 'iterrows'.
def bill_week(val):
for i, row in val.iterrows():
return(row.count()-1)
billboard_2.apply(bill_week)
我想我想问的是如何将该 lambda 函数转换为普通函数。
count(axis=1)
更别提给没有了。连续的非 na 值
billboard_2.count(axis=1)
如果你想使用.apply
def count_non_na(x):
return x.isna().sum()
billboard_2.apply(count_non_na, axis=1)
结合lambda
billboard_2.apply(lambda x: x.isna().sum(), axis=1)