Я хочу выполнить этот запрос. Запрос "фильтрует данные с помощью транзакции" Газойль / дизельное топливо - Добыча "и год больше 2000". Во-первых, я попытался выполнить свой запрос с операндом & и выбором векторизованного столбца без использования оператора if. Но это не сработало. После этого я нашел этот запрос ниже. На этот раз я не смог получить никаких результатов. Что вы думаете о моей проблеме с запросом? Спасибо ...

if all(b['Commodity - Transaction'] == 'Gas Oil/ Diesel Oil - Production') and all(b[ b['Year'] >2000 ]):
   print (b)
else:
    print('did not find any values')
1
Osman Emre 1 Мар 2016 в 00:37

2 ответа

Лучший ответ

Вы можете сначала попробовать создать маску с помощью {{X0} } и подмножество create - используйте логическое индексирование :

print b[(b['Commodity - Transaction'].str.contains('Gas Oil/ Diesel Oil - Production'))  &  
        (b['Year'] > 2000) ]
0
jezrael 29 Фев 2016 в 22:02

Что случилось с:

b.loc[(b['Commodity - Transaction'] == 'Gas Oil/ Diesel Oil - Production') & (b['Year'] >2000)]

?

1
MaxU 29 Фев 2016 в 21:46