Задача "Температура" в Python
В файле input.csv хранится информация о температуре на определеннную дату. Первый столбец называется date, в данном столбце хранится дата. Второй столбец называется temperature_c, здесь хранится информация о температуре по шкале Цельсия. Необходимо добавить новый столбец с названием temperature_f, в котором будет храниться информация о температуре по Фаренгейту в соответствующий день. Результат округлите до целого с помощью round().
ФОРМАТ ВВОДА
На вход подается файл input.csv, в первой строке названия столбцов: date и temperature_c, данные в строках разделены с помощью запятых. Данные в колонке temperature_c - числовые.
ФОРМАТ ВЫВОДА
Результат необходимо сохранить в файл output.csv, разделитель - запятая. Обратите внимания на формат вывода в примере.
ВВОД
date,temperature_c
07-12-2021,-9
08-12-2021,-11
09-12-2021,-13
ВЫВОД
,date,temperature_c,temperature_f
0,07-12-2021,-9,16
1,08-12-2021,-11,12
2,09-12-2021,-13,9
ПРИМЕЧАНИЕ
Формула перевода температуры по шкале Цельсия в температуру по шкале Фаренгейта: Tf = 9/5∗Tc + 32
Используйте метод apply.
Не забывайте, что в качестве параметра метода apply необходимо передавать либо lambda-функцию, либо имя функции, возвращающей некоторое значение.
Для генерации новой колонки можно использовать конструкцию: df['new_col_name'] = lst, где
df − объект типа pandas.DataFrame,
'new_col_name' − имя колонки, которую нужно добавить,
lst − значения, которые должны быть добавлены в новую колонку (список).
Для решения этой задачи можно использовать библиотеку pandas в Python. Вот код, который реализует требуемую функциональность:
import pandas as pd
# Чтение данных из файла input.csv
df = pd.read_csv('input.csv')
# Функция для конвертации температуры из Цельсия в Фаренгейт
def celsius_to_fahrenheit(celsius):
return round((9/5) * celsius + 32)
# Добавление нового столбца temperature_f с температурой по Фаренгейту
df['temperature_f'] = df['temperature_c'].apply(celsius_to_fahrenheit)
# Сохранение результата в файл output.csv
df.to_csv('output.csv', index_label='index')
Этот код сначала читает данные из файла input.csv в объект DataFrame библиотеки pandas. Затем определяется функция celsius_to_fahrenheit, которая принимает температуру в градусах Цельсия и возвращает температуру в градусах Фаренгейта. Затем используется метод apply, чтобы применить эту функцию к столбцу temperature_c и создать новый столбец temperature_f, содержащий температуру в градусах Фаренгейта. Наконец, результат сохраняется в файл output.csv.