【发布时间】:2018-07-29 10:56:46
【问题描述】:
我正在尝试从数据框的单词列表中获取包含任何子字符串的产品的平均价格。我已经能够在多个电子表格上使用以下代码来做到这一点 -
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)
但是,其中一个电子表格在行 -
处引发错误dframe['Product'].fillna('', inplace=True)
与
ValueError: cannot index with vector containing NA / NaN values
我不明白为什么dframe['Product'].fillna('', inplace=True) 没有处理这个问题。
急需帮助!谢谢!
【问题讨论】:
-
如果省略它并使用
mask = dframe.Product.str.contains(word, case=False, na=False)它工作吗? -
有问题的文件中的数据是否可信?
-
另一个想法 -
dframe['Product'] = dframe['Product'].fillna('')应该可以工作。 -
@jezrael 刚刚看到您对上一个问题的回复!太棒了!多谢! :)
-
是的,顺便说一句,数据文件是机密的,而且太大而无法浏览。
标签: python python-3.x pandas dataframe valueerror