har*_*y04 4 python dataframe python-3.x pandas valueerror
我正在尝试从数据框的单词列表中获取包含任何子字符串的产品的平均价格。我已经可以在多个电子表格中使用以下代码来做到这一点-
dframe['Product'].fillna('', inplace=True)
dframe['Price'].fillna(0, inplace=True)
total_count = 0
total_price = 0
for word in ransomware_wordlist:
mask = dframe.Product.str.contains(word, case=False)
total_count += mask.sum()
total_price += dframe.loc[mask, 'Price'].sum()
average_price = total_price / total_count
print(average_price)
Run Code Online (Sandbox Code Playgroud)
但是,其中一个电子表格在第-行上抛出错误-
dframe['Product'].fillna('', inplace=True)
Run Code Online (Sandbox Code Playgroud)
与
ValueError: cannot index with vector containing NA / NaN values
Run Code Online (Sandbox Code Playgroud)
我不明白为什么dframe['Product'].fillna('', inplace=True)不处理这个问题。
迫切需要一些帮助!谢谢!
如果第一行仍然可能失败NaN,请str.contains用参数替换s中的条件na=False:
mask = dframe.Product.str.contains(word, case=False, na=False)
Run Code Online (Sandbox Code Playgroud)
或尝试省略inplace=True并分配回去:
dframe['Product'] = dframe['Product'].fillna('')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6196 次 |
| 最近记录: |