如果满足条件,则从python数据框中选择一个值

时间:2016-12-23 11:27:37

标签: python if-statement dataframe

我的数据框如下所示:

df_data = pd.read_csv("SKU12345.csv", index_col=0)

我引用的CSV具有以下值:

  SKU,Tag,Fall,Wert  
 0,12345,1,WE,1000
 1,12345,1,ABV,10
 2,12345,1,PRO,0
 3,23456,2,WE,10000

我想制作一个if条件,其内容如下:

If 'Fall' == 'WE' 
and if 'Wert' of this row > 100:
print('Wert' of row with 'Fall' == 'WE')

我希望得到的结果是

1000
10000

非常感谢你!

1 个答案:

答案 0 :(得分:0)

这是你要找的吗?

for v in df[(df['Wert'] > 100) & (df['Fall'] == 'WE')]['Wert'].values:
    print(v)

基本上,您首先按照Wert列中所有大于100的值过滤DataFrame,然后按FallWE过滤数据框

df[(df['Wert'] > 100) & (df['Fall'] == 'WE')]

&需要链接多个条件 - 它不能被and&& afaik替换。

然后直接访问列Wert中的值。

df[(df['Wert'] > 100) & (df['Fall'] == 'WE')]['Wert'].values
列的

.values会将列的数据作为numpy.array返回,因此您可以像列表一样循环它。