В той же колонке у нас есть данные о температуре в градусах Кельвина и Цельсия. Как я могу сделать новый столбец, в котором у меня есть тот же тип даты (Кельвин или Цельсий). У меня много данных в формате CSV. Я пытался использовать что-то вроде: если initial_te температура> 50, напишите new_te температура = initial_temperars - 273,15, где я предположил, что мы не можем иметь температуру в градусах Цельсия выше 50.

Input_data =[37, 309.15, 38, 310.5]
Output_data = [37, 36, 38, 37.35] 

Спасибо

0
mvpetre 30 Апр 2020 в 11:29

2 ответа

Вы могли бы использовать понимание списка:

>>> Input_data =[37, 309.15, 38, 310.5]
>>> Output_data = [round((x - 273.15),2) if x > 50 else x for x in Input_data]
>>> Output_data
[37, 36.0, 38, 37.35]

Поскольку вы упомянули столбцы, я полагаю, у вас есть какой-то фрейм данных. Тогда вы можете использовать лямбда-функцию:

>>> import pandas as pd
>>> df = pd.DataFrame({'Input_data':[37, 309.15, 38, 310.5]})
>>> df
   Input_data
0       37.00
1      309.15
2       38.00
3      310.50
>>> df['Output_data'] = df['Input_data'].apply(lambda x: x - 273.15 if x > 50 else x)
>>> df
   Input_data  Output_data
0       37.00        37.00
1      309.15        36.00
2       38.00        38.00
3      310.50        37.35
0
Denis Rasulev 30 Апр 2020 в 12:02

Используйте следующую библиотеку Python. https://docs.python.org/3/library/csv.html

Используйте простое условие if для обновления файла

0
Feroz J S 30 Апр 2020 в 08:34