Временная метка индекса блестящая для Python ⇐ Python
-
Anonymous
Временная метка индекса блестящая для Python
def prepare_dataframe(df):
df.rename(columns={
'Bomba Calor - Temperatura de Aire (°C)': 'temp_aire',
'Bomba Calor - Temperatura Entrada (°C)': 'temp_entrada',
'Bomba Calor - Temperatura Salida (°C)' : 'temp_salida',
'Bomba Calor - Estado Caldera 2 (estado)':'estado_caldera2',
'Bomba Calor - Estado Caldera 1 (estado)': 'estado_caldera1',
'Bomba Calor - Estado Bomba de Calor (estado)': 'estado_bomba_calor'
}, inplace=True, errors='ignore')
if 'timestamp' in df.columns:
df['timestamp'] = pd.to_datetime(df['timestamp'], format="%d-%m-%y %H:%M").astype("datetime64")
# Se establece el 'timestamp' como índice para poder filtrar
df.set_index('timestamp', inplace=True)
df.sort_index(inplace=True)
elif 'Fecha' in df.columns and 'Hora' in df.columns:
df['timestamp'] = pd.to_datetime(df['Fecha'] + ' ' + df['Hora'], format="%d-%m-%y %H:%M").astype("datetime64")
df.set_index('timestamp', inplace=True)
df.sort_index(inplace=True)
final_columns = [
'temp_aire', 'temp_entrada', 'temp_salida',
'estado_caldera2', 'estado_caldera1', 'estado_bomba_calor'
]
existing_columns = [col for col in final_columns if col in df.columns]
return df[existing_columns]
def load_data(source="csv", file_path="caldera_comepa.csv"):
if source == "csv":
# Lógica de carga del CSV
df_crudo = pd.read_csv(file_path)
#proximamente
#elif fuente == "elastic":
df_clean = prepare_dataframe(df_crudo)
return df_clean
Привет, ребята, я хотел бы знать, является ли то, что я делаю, хорошей практикой, потому что я переименовываю столбцы, потому что их имя очень длинное, а также я устанавливаю временную метку в качестве индекса для легкой фильтрации данных. Вы можете проверить пример CSV ниже, как вы можете видеть, это широкоформатный CSV-файл, но я хотел бы знать, могу ли я изменить его на длинный формат, благодаря этому я могу визуализировать графику используя сюжетную библиотеку. Наконец, после работы с CSV, я хотел бы перенести его в базу данных с помощью elasticsearch, поэтому я хочу создать функцию, которая читает CSV или elasticsearch
Fecha,Hora,Bomba Calor - Temperatura de Aire (°C),Bomba Calor - Temperatura Entrada (°C),Bomba Calor - Temperatura Salida (°C),Bomba Calor - Estado Caldera 2 (estado),Bomba Calor - Estado Caldera 1 (estado),Bomba Calor - Estado Bomba de Calor (estado)
04-10-25,00:01,22.2,63.4,63.4,0.0,0.0,0.0
04-10-25,00:11,21.9,61.8,61.7,0.0,0.0,0.0
04-10-25,00:21,21.7,60.3,60.3,0.0,0.0,0.0
Подробнее здесь: https://stackoverflow.com/questions/798 ... for-python
def prepare_dataframe(df):
df.rename(columns={
'Bomba Calor - Temperatura de Aire (°C)': 'temp_aire',
'Bomba Calor - Temperatura Entrada (°C)': 'temp_entrada',
'Bomba Calor - Temperatura Salida (°C)' : 'temp_salida',
'Bomba Calor - Estado Caldera 2 (estado)':'estado_caldera2',
'Bomba Calor - Estado Caldera 1 (estado)': 'estado_caldera1',
'Bomba Calor - Estado Bomba de Calor (estado)': 'estado_bomba_calor'
}, inplace=True, errors='ignore')
if 'timestamp' in df.columns:
df['timestamp'] = pd.to_datetime(df['timestamp'], format="%d-%m-%y %H:%M").astype("datetime64")
# Se establece el 'timestamp' como índice para poder filtrar
df.set_index('timestamp', inplace=True)
df.sort_index(inplace=True)
elif 'Fecha' in df.columns and 'Hora' in df.columns:
df['timestamp'] = pd.to_datetime(df['Fecha'] + ' ' + df['Hora'], format="%d-%m-%y %H:%M").astype("datetime64")
df.set_index('timestamp', inplace=True)
df.sort_index(inplace=True)
final_columns = [
'temp_aire', 'temp_entrada', 'temp_salida',
'estado_caldera2', 'estado_caldera1', 'estado_bomba_calor'
]
existing_columns = [col for col in final_columns if col in df.columns]
return df[existing_columns]
def load_data(source="csv", file_path="caldera_comepa.csv"):
if source == "csv":
# Lógica de carga del CSV
df_crudo = pd.read_csv(file_path)
#proximamente
#elif fuente == "elastic":
df_clean = prepare_dataframe(df_crudo)
return df_clean
Привет, ребята, я хотел бы знать, является ли то, что я делаю, хорошей практикой, потому что я переименовываю столбцы, потому что их имя очень длинное, а также я устанавливаю временную метку в качестве индекса для легкой фильтрации данных. Вы можете проверить пример CSV ниже, как вы можете видеть, это широкоформатный CSV-файл, но я хотел бы знать, могу ли я изменить его на длинный формат, благодаря этому я могу визуализировать графику используя сюжетную библиотеку. Наконец, после работы с CSV, я хотел бы перенести его в базу данных с помощью elasticsearch, поэтому я хочу создать функцию, которая читает CSV или elasticsearch
Fecha,Hora,Bomba Calor - Temperatura de Aire (°C),Bomba Calor - Temperatura Entrada (°C),Bomba Calor - Temperatura Salida (°C),Bomba Calor - Estado Caldera 2 (estado),Bomba Calor - Estado Caldera 1 (estado),Bomba Calor - Estado Bomba de Calor (estado)
04-10-25,00:01,22.2,63.4,63.4,0.0,0.0,0.0
04-10-25,00:11,21.9,61.8,61.7,0.0,0.0,0.0
04-10-25,00:21,21.7,60.3,60.3,0.0,0.0,0.0
Подробнее здесь: https://stackoverflow.com/questions/798 ... for-python
Мобильная версия