Python

Питон для начинающих)

Решить проблему можно, сложив площади посевов (Acres), а также объёмы урожая (Production) по всем штатам за каждый год. Однако сделать это непросто.
Начните с задачи полегче: найдите общую площадь посевов только для 1980 года. На первом этапе сохраните значения Acres для каждого штата в списке acres_one_year и выведите его на экран. Выбранный год сохранён в переменной year.


import pandas
data = pandas.read _csv('crops_usa.csv')

acres = list(data['Acres'])
years = list(data['Year'])

year = 1980


# ваш код здесь

print(acres_one_year)

Создайте переменную acres_one_year и сохраните в ней пустой список. Затем отфильтруйте список acres — напишите цикл for с перебором по индексам, в теле которого задайте условие: если значение в списке years совпадает со значением переменной year, добавить соответствующее значение из acres в список acres_one_year.

должно быть просто, но в голову не идёт...
помогите) спасибо
import pandas
data = pandas.read _csv('crops_usa.csv')

acres = list(data['Acres'])
years = list(data['Year'])

year = 1980

acres_one_year = []
for index in range(len(acres)):
if years[index]==year:
acres_one_year.append(acres[index])
# ваш код здесь

print(acres_one_year)
Евгений Лобанов
Евгений Лобанов
235
Лучший ответ
Радик Сафин спасибо Никита)
Радик Сафин я его сам решил с трезвой головой......капец...)))
Pandas это не для начинающих. Это для уже прошаренных в основах
ET
Elaman Tlegenov
52 121
Радик Сафин вы знаете, я ещё даже учиться не начал...типо это предварительные курсы....
Никита, добрый день.
Подскажите, пожалуйста, как Вы решили эту задачу?
Основы Python и анализа данных-Тема 7. Урок 10:
Модули ошибок есть — теперь можно считать среднее. Разделите сумму всех значений списка error_abs_acres на его длину и выведите результат на экран.
import pandas
data = pandas.read _csv('crops_usa.csv')

# преобразуем столбцы датасета в списки
acres = list(data['Acres'])
production = list(data['Production'])
years = list(data['Year'])

acres_usa = [] # общая площадь посевов за каждый год
production_usa = [] # общий объём урожая за каждый год

for year in range(1980, 2020):
acres_one_year = []
production_one_year = []
for index in range(len(data)):
if years[index] == year:
acres_one_year.append(acres[index])
production_one_year.append(production[index])
acres_usa.append(sum(acres_one_year))
production_usa.append(sum(production_one_year))

yield_usa = [] # общая урожайность за каждый год
for index in range(len(production_usa)):
yield_usa.append(production_usa[index] / acres_usa[index])
years_numbers = list(range(1980, 2020))

error_acres = [] # ошибки первой модели, предсказана площадь посевов
for index in range(1, len(production_usa)):
error_acres.append(production_usa[index] - acres_usa[index] * yield_usa[index - 1])

error_yield = [] # ошибки второй модели, предсказана урожайность
for index in range(1, len(production_usa)):
error_yield.append(production_usa[index] - acres_usa[index - 1] * yield_usa[index])

error_abs_acres = [] # модули ошибок первой модели
for value in error_acres:
error_abs_acres.append(abs(value))

# ваш код здесь

В подсказке написано: В скобках функции print() вызовите функции sum() и len().
Радик Сафин здрасти) это тема - машинное обучение?
Ахмед Ахмедов Да, машинное обучение)
Константин Суворов print(sum(error_abs_acres) / len(error_abs_acres))