我有一个任务,需要表示数据集中的数据。我选择了这个数据集https://www.kaggle.com/mylesoneill/game-of-thrones 我想知道Joffrey/Tommen Baratheon攻击Robb Stark的次数
df = pd.read_csv('battles.csv')
starkWar = 0
for x in df:
if (df.attacker_king == 'Joffrey/Tommen Baratheon') and
(df.defender_king == 'Robb Stark'):
starkWar + 1
我尝试过使用&
而不是and
,并且尝试过:
df['attacker_king'] == 'Joffrey/Tommen Baratheon'
if df[(df['attacker_king'] == 'Joffrey/Tommen Baratheon') & (df['defender_king'] == 'Robb Stark')]:
而不是我现在的方式。所有这些都给了我一个错误:
The truth value of a Series is ambiguous.
Use a.empty, a.bool(), a.item(), a.any() or a.all().
我也试过这个
您可以过滤数据帧以查找攻击者为Joffrey、defender为Stark的行。然后得到数据帧的长度。比让它逐行迭代要快
但如果使用原始代码并按行进行迭代(如果不是大量行,这也是可行的选择):
相关问题 更多 >
编程相关推荐