【发布时间】:2019-09-07 22:58:54
【问题描述】:
我有一个场景,我在 CSV 文件中有一些数据,我需要遍历每一行并查找是否找到特定值。如果找到,则执行一项操作,否则执行另一项操作。
这是我使用的数据集:
import pandas as pd
dataset = pd.read_csv('Teams\India.csv')
Ind = 0 SA = 0
if(dataset.loc[(dataset['Opponent']) == 'South Africa' & (dataset['Result']) == 'Won']): Ind = Ind + 1 else: SA = SA + 1
根据我的 CSV 文件,印度与南非打了 6 场比赛,赢了 5 场。所以,最后'Ind'的值必须是5,'SA'的值必须是1。
但是当我尝试运行此代码时,无论我做什么,都会收到以下错误:
ValueError: The truth value of a DataFrame is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
TypeError: cannot compare a dtyped [object] array with a scalar of type [bool]
【问题讨论】:
-
您还可以将您拥有的示例数据集作为文本发布吗?以获得更好的参考。谢谢
-
@anky_91,我已按照您的要求发布了数据集。
标签: python-3.x pandas csv dataframe for-loop