我有一栏显示一个人一天中某个站点的分钟数,第二栏显示一个人一天中使用互联网的分钟数。
我的目标是创建一个函数,以显示网站上的每日分钟数与一个人使用Internet的每日分钟数之间的比率。
def percapitausage(x):
x[0]/x[1]
df['Site/Internet Ratio']=df[['Daily Time Spent on Site','Daily Internet Usage']].apply(percapitausage,axis=1)
但是,当我将此功能应用于数据框时,我创建的新列“网站/互联网比率”填充了“无”值。
如何用所需的比率填充新列?另外,我在代码中犯了什么错误?
答案 0 :(得分:3)
该函数给您None
,因为您未返回任何内容。您可以通过返回x[0]/x[1]
的值来修复它。
固定代码
def percapitausage(x):
return x[0]/x[1]
df['Site/Internet Ratio']=df[['Daily Time Spent on Site','Daily Internet Usage']].apply(percapitausage,axis=1)
答案 1 :(得分:2)
您可以将功能更改为
def percapitausage(x):
return x.iloc[0]/x.iloc[1]
df[['Daily Time Spent on Site','Daily Internet Usage']].apply(percapitausage,1)