Top.Mail.Ru
Ответы

Задача на Python про температуру

В файле input.csv хранится информация о температуре на определенную дату. Первый столбец называется date, в данном столбце хранится дата. Второй столбец называется temperature_c, здесь хранится информация о температуре по шкале Цельсия. Необходимо добавить новый столбец с названием temperature_f, в котором будет храниться информация о температуре по Фаренгейту в соответствующий день. Результат округлите до целого с помощью round().

Формат ввода
На вход подается файл input.csv, в первой строке названия столбцов: date и temperature_c, данные в строках разделены с помощью запятых. Данные в колонке temperature_c - числовые.

Формат вывода
Результат необходимо сохранить в файл output.csv, разделитель - запятая.

Примечания
Формула перевода температуры по шкале Цельсия в температуру по шкале Фаренгейта:
tf=9/5∗tc+32
Используйте метод apply.
Не забывайте, что в качестве параметра метода apply необходимо передавать либо lambda-функцию, либо имя функции, возвращающей некоторое значение.
Для генерации новой колонки можно использовать конструкцию: df['new_col_name'] = lst, где
df − объект типа pandas.DataFrame,
'new_col_name' − имя колонки, которую нужно добавить,
lst − значения, которые должны быть добавлены в новую колонку (список).

Только авторизированные пользователи могут оставлять свои ответы
Дата
Популярность
Аватар пользователя
Мудрец

Здравствуйте, Лен.
Вот программа для Вас:

123456789101112131415
 # Подключаю модуль для работы с данными 
import pandas 
 
# Считываю csv-файл 
df = pandas.read_csv("input.csv",delimiter=",") 
 
# Добавляю колонку, а в неё записываю температуру по Фаренгейту 
df.loc[:,"temperature_f"] = df.temperature_c.apply(lambda x: x*9/5+32) 
 
# Вывожу на экран данные 
print(df) 
 
# Вывожу эти же данные в файл output.csv 
df.to_csv("output.csv") 
 

А вот тут - эта же программа + файл input.csv и файл output.csv