我正在尝试使用if-else语句来检查数据框列'vi'是否包含值,然后将其提取到下一个对应的行中。数据框包含2列“ j”和“ vi”
if G_df['vi']== vi:
new_j = G_df.loc['j'].item()
给出is错误: ValueError:系列的真值不明确。使用a.empty,a.bool(),a.item(),a.any()或a.all()。
我也尝试过:
if G_df['vi'].item() == vi:
new_j = G_df.loc['j'].item()
,并收到此错误: ValueError:系列的真值不明确。使用a.empty,a.bool(),a.item(),a.any()或a.all()。
答案 0 :(得分:0)
G_df['vi']== vi
的值是一个系列。您不能在if
语句中使用它。另外,在熊猫中应避免使用if
语句。这就是您要寻找的东西:
df.loc[df['vi'] == vi, 'j']
此表达式为您提供列'j'
等于'vi'
的列vi
中的所有值。