PYTHON: 2D таблица — как вернуть строку определенного значения?

#python #pandas

#python #pandas

Вопрос:

Я импортировал csv-файл, содержащий данные, это первые 5 строк:

первые 5 строк набора данных

Я пытаюсь сделать две вещи:

  1. Я хочу вернуть список всех лет, в которых общее количество преступлений было ниже определенного значения.

код, который я использовал, предоставляет логический ответ:

 highcrime = crime["Total Crime"]>25000000
print(highcrime)
  

вывод в приведенный выше код

Есть ли способ заставить его возвращать только те годы, в которые crime["Total Crime"]>25000000 is TRUE ?

  1. Я хочу найти год, в котором общее количество преступлений было самым низким — я использовал здесь минимальную функцию:

    min(new_crime["totalcrime"])

он возвращает наименьшее значение в столбце — но я бы хотел, чтобы оно возвращало соответствующий год, к которому применяется это значение.

Я пробовал делать несколько вещей, и я получаю ошибки или вывод, который не имеет смысла….

это последняя попытка:

 mincrime = new_crime["totalcrime"]<6768321
print(mincrime)
  

вывод выше «mincrime»

В выводе говорится, что totalcrime для каждого года ИСТИННО — меньше 6768321 … это неверно, только минимальное значение в столбце меньше этого числа. Минимум 6768320.

Я просто хочу иметь возможность получить год, соответствующий значению 6768320, которое находится в столбце с надписью «totalcrime»

Я новичок в python, поэтому…. ПОЖАЛУЙСТА, ПОМОГИТЕ.

Комментарии:

1. Добро пожаловать в SO. не могли бы вы предоставить свои данные в удобной форме, чтобы с ними можно было работать? Кстати. ваш скриншот для данных и выходных данных совпадает.

Ответ №1:

вы можете использовать функцию loc :

 row_cond=crime.loc[crime['Total Crime']>25000000]
list_year=row_cond['Year']
row2=crime.loc[crime['Total Crime']==crime['Total Crime'].min()]
minyear=row2['Year']