为什么我为我提供的函数没有类型?

时间:2019-06-29 13:22:01

标签: python pandas

我有一栏显示一个人一天中某个站点的分钟数,第二栏显示一个人一天中使用互联网的分钟数。

我的目标是创建一个函数,以显示网站上的每日分钟数与一个人使用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)

但是,当我将此功能应用于数据框时,我创建的新列“网站/互联网比率”填充了“无”值。

enter image description here

如何用所需的比率填充新列?另外,我在代码中犯了什么错误?

2 个答案:

答案 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)