我有一个如下所示的数据框。
customers ...
Date
2006-01-03 98 ...
2006-01-04 120 ...
2006-01-05 103 ...
2006-01-06 95 ...
2006-01-09 103 ...
我想获得客户数量超过100的行并进行打印。
for x in range(len(df)):
if df['customers'].iloc[x] > 100:
print(df['customers'].iloc[x])
但是我不知道如何打印出符合条件的行的日期(索引)。我的目标是这样打印:
2006-01-04
120
2006-01-05
103
2006-01-09
103
最佳答案
考虑使用query()
:
print(df)
Date customers
0 2006-01-03 98
1 2006-01-04 120
2 2006-01-05 103
3 2006-01-06 95
4 2006-01-09 103
df.query('customers > 100')
Date customers
1 2006-01-04 120
2 2006-01-05 103
4 2006-01-09 103
要获得您指定的确切输出格式,请遍历
query()
结果:for date, customer in df.query('customers > 100').values:
print(date)
print(customer)
2006-01-04
120
2006-01-05
103
2006-01-09
103