小编Ken*_*ace的帖子

ValueError:DataFrame 的真值不明确

我有一个看起来像这样的数据框:

        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)

python python-3.x pandas valueerror

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

pandas ×1

python ×1

python-3.x ×1

valueerror ×1