我的数据框如下所示:
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
非常感谢你!
答案 0 :(得分:0)
这是你要找的吗?
for v in df[(df['Wert'] > 100) & (df['Fall'] == 'WE')]['Wert'].values:
print(v)
基本上,您首先按照Wert
列中所有大于100的值过滤DataFrame,然后按Fall
列WE
过滤数据框
df[(df['Wert'] > 100) & (df['Fall'] == 'WE')]
&
需要链接多个条件 - 它不能被and
或&&
afaik替换。
然后直接访问列Wert
中的值。
df[(df['Wert'] > 100) & (df['Fall'] == 'WE')]['Wert'].values
列的 .values
会将列的数据作为numpy.array
返回,因此您可以像列表一样循环它。