【发布时间】:2020-07-19 10:28:27
【问题描述】:
急需帮助。我正在尝试有条件地迭代 Google Play 商店 csv 文件的行。由于某种原因,在我的某些循环中,我一直遇到 pandas 无法识别 '>=' 符号的问题。也就是说,使用条件 "if price == "9.00" 可以正常工作,但其他操作(即 '=" 返回错误消息。
此外,我正在尝试计算价格为 9.00 美元或更高的应用数量。我想从价格列中去掉“$”符号,然后继续迭代它。我尝试了 str.lstrip 函数但没有成功。非常感谢任何和所有帮助。
df = pd.read_csv("googleplaystore.csv")
df['Rating'].fillna(value = '0.0', inplace = True)
# Calculating how many apps have a price of $9.00 or greater
apps_morethan9 = 0
for i, row in df.iterrows():
rating = float(row.Rating)
price = float(row.Price)
if price >= 9:
apps_morethan9 += 1
print(apps_morethan9)
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-103-66171ce7efb6> in <module>
5 for i, row in df.iterrows():
6 rating = float(row.Rating)
----> 7 price = float(row.Price)
8 if price >= 9:
9 apps_morethan9 += 1
ValueError: could not convert string to float: '$4.99'```
【问题讨论】:
-
row.Price.str.strip("$")?或str.lstrip("$")
标签: python pandas loops if-statement conditional-statements