尝试根据两个属性从数据框中 select 数据时出错
Error when trying to select data from dataframe based on two attributes
我正在尝试从数据帧 'merged' 中提取一个值 'output',它是一个整数,并对包含两个属性的所有行求和。我需要 select 特定年份的值和分配给每行数据的虚拟变量,然后对具有这两个特征的所有值求和。我试着这样做:
sumforyr = merged[merged['year'] == 2000 and merged['dummy'] == 1]['output'].sum()
但是,运行 这给了我错误:
ValueError: The truth value of a Series is ambiguous.
我是否需要遍历每一行并以这种方式检查这些属性? Series是一次性求值而不是按行求值的问题吗?
演示:
In [21]: merged
Out[21]:
year dummy output
0 2000 1 1
1 2000 1 10
2 2000 2 2
3 2001 3 3
In [22]: merged.loc[(merged['year'] == 2000) & (merged['dummy'] == 1), 'output'].sum()
Out[22]: 11
我正在尝试从数据帧 'merged' 中提取一个值 'output',它是一个整数,并对包含两个属性的所有行求和。我需要 select 特定年份的值和分配给每行数据的虚拟变量,然后对具有这两个特征的所有值求和。我试着这样做:
sumforyr = merged[merged['year'] == 2000 and merged['dummy'] == 1]['output'].sum()
但是,运行 这给了我错误:
ValueError: The truth value of a Series is ambiguous.
我是否需要遍历每一行并以这种方式检查这些属性? Series是一次性求值而不是按行求值的问题吗?
演示:
In [21]: merged
Out[21]:
year dummy output
0 2000 1 1
1 2000 1 10
2 2000 2 2
3 2001 3 3
In [22]: merged.loc[(merged['year'] == 2000) & (merged['dummy'] == 1), 'output'].sum()
Out[22]: 11