data = pnd.read_csv('csv/pop.csv')
data = data[['date_range','city','sum_pop']]
data['date_range']=pnd.to_datetime(data['date_range'])
data['date_range'] = data['date_range'].map(lambda x: x.strftime('%d.%m.%Y'))
cities_list = nmp.array(data['city'])
cities_list=nmp.unique(cities_list)
for k in cities_list:
data = data[(data['city'] == k)]
print(data)
Привет, я делаю небольшой анализ данных с помощью Python. Я хочу взять данные о населении в соответствии с названием города в разделе цикла For, а затем нарисовать графики населения каждого города. Я нарисовал графику без цикла for внизу. Я получаю следующий вывод с помощью «print (data) "
date_range city sum_pop
0 31.12.2018 Adana(Aladağ)-1757 16653
973 31.12.2017 Adana(Aladağ)-1757 15896
1945 31.12.2016 Adana(Aladağ)-1757 16333
2915 31.12.2015 Adana(Aladağ)-1757 16823
3885 31.12.2014 Adana(Aladağ)-1757 17113
4855 31.12.2013 Adana(Aladağ)-1757 17221
5825 31.12.2012 Adana(Aladağ)-1757 16951
6782 31.12.2011 Adana(Aladağ)-1757 17074
7739 31.12.2010 Adana(Aladağ)-1757 17169
8696 31.12.2009 Adana(Aladağ)-1757 17494
9653 31.12.2008 Adana(Aladağ)-1757 18249
10610 31.12.2007 Adana(Aladağ)-1757 17506
Empty DataFrame
Columns: [date_range, city, sum_pop]
Index: []
Empty DataFrame
Columns: [date_range, city, sum_pop]
Index: []
Empty DataFrame
Columns: [date_range, city, sum_pop]
Index: []
Empty DataFrame
Columns: [date_range, city, sum_pop]
Index: []
Empty DataFrame
Columns: [date_range, city, sum_pop]
Index: []
Как это исправить
Спасибо за Ваш ответ.






Все это можно сделать проще с помощью метода панд .groupby():
data = pnd.read_csv('csv/pop.csv')
data = data[['date_range','city','sum_pop']]
data['date_range']=pnd.to_datetime(data['date_range'])
data['date_range'] = data['date_range'].map(lambda x: x.strftime('%d.%m.%Y'))
for city_name, city_data in data.groupby('city'):
print(city_data)
Документы pandas содержат множество примеров в Сгруппировать по: разделить-применить-объединить.
потому что в первый раз, когда вы говорите `data = data[(data['city'] == k)]`, вы перезаписываете полный набор данных с выбором, а другие названия городов больше не находятся в
data. Используйте другое имя переменной в цикле for.