我有一个看起来像这样的数据框:
total downloaded avg_rating
id
1 2 2 5.0
2 12 12 4.5
3 1 1 5.0
4 1 1 4.0
5 0 0 0.0
Run Code Online (Sandbox Code Playgroud)
我正在尝试添加一个新列,其中两个列的百分比差异,但仅适用于“已下载”中没有 0 的列。
我正在尝试为此使用一个函数,如下所示:
def diff(ratings):
if ratings[ratings.downloaded > 0]:
val = (ratings['total'] - ratings['downloaded']) / ratings['downloaded']
else:
val = 0
return val
ratings['Pct Diff'] = diff(ratings)
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-129-729c09bf14e8> in <module>()
6 return val
7
----> 8 ratings['Pct Diff'] = diff(ratings)
<ipython-input-129-729c09bf14e8> in diff(ratings)
1 def diff(ratings):
----> …
Run Code Online (Sandbox Code Playgroud)