Top.Mail.Ru
Ответы
Аватар пользователя
Изменено
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+3

Решить задачу про температуру на Python

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

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

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

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

Пример:
Ввод:
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

По дате
По рейтингу
Аватар пользователя
Знаток

import pandas as pd
df = pd.read _csv('input.csv')
df['temperature_f'] = list(map(lambda x: round((9/5) * x + 32), df['temperature_c']))
df.to _csv('output.csv')

Аватар пользователя
Мудрец

# Импортируем библиотеку pandas
import pandas as pd
# Читаем csv-файл
df = pd.read\_csv('input.csv', names=['date', 'temperature\_c'])
# Формула для перевода температуры по шкале Цельсия в температуру по шкале Фаренгейта
def temperature\_f(c):
return (9/5) \* c+32
# Добавляем новую колонку с температурой по Фаренгейту
df['temperature\_f'] = df['temperature\_c'].apply(temperature\_f)
# Округляем значения в новой колонке до целого числа
df['temperature\_f'] = df['temperature\_f'].round()
# Сохраняем измененный DataFrame в csv-файл
df.to\_csv('output.csv', index=False, sep=',')