以下代码给了我值错误:
major_males=[]
for row in recent_grads:
if recent_grads['Men']>recent_grads['Women']:
major_males.append(recent_grads['Major'])
display(major_males)
值错误:序列的真值不明确。使用 a.empty、a.bool((、a.item((、a.any(( 或 a.all((
如果recent_grads
是一个数据帧,那么这就是你的for循环的样子
major_males=[]
for i, row in recent_grads.iterrows():
if row['Men']>row['Women']:
major_males.append(row['Major'])
display(major_males)
这是因为您正在比较一个系列而不是一个值。 我猜你的意图是if row['Men'] > row['Women']
其次,这样做会更有效率
major_males = recent_grads[recent_grads.Men > recent_grads.Women].Major.to_list()
请注意,在迭代数据框时,您没有使用row
变量。相反,请尝试:
major_males=[]
for row in recent_grads:
if row['Men']>row['Women']:
major_males.append(row['Major'])
display(major_males)
您收到错误是因为将所有Men
值与所有Women
值进行比较没有意义:相反,您希望一次比较每个值的一个特定值,这就是更改的作用。