#python #pandas
#python #pandas
Вопрос:
Я импортировал csv-файл, содержащий данные, это первые 5 строк:
Я пытаюсь сделать две вещи:
- Я хочу вернуть список всех лет, в которых общее количество преступлений было ниже определенного значения.
код, который я использовал, предоставляет логический ответ:
highcrime = crime["Total Crime"]>25000000
print(highcrime)
Есть ли способ заставить его возвращать только те годы, в которые crime["Total Crime"]>25000000 is TRUE
?
-
Я хочу найти год, в котором общее количество преступлений было самым низким — я использовал здесь минимальную функцию:
min(new_crime["totalcrime"])
он возвращает наименьшее значение в столбце — но я бы хотел, чтобы оно возвращало соответствующий год, к которому применяется это значение.
Я пробовал делать несколько вещей, и я получаю ошибки или вывод, который не имеет смысла….
это последняя попытка:
mincrime = new_crime["totalcrime"]<6768321
print(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']