调试去除列逻辑

This commit is contained in:
workpc 2025-04-10 13:47:36 +08:00
parent 3ec98be7cc
commit 8106ea1e69

View File

@ -792,11 +792,13 @@ def datachuli(df_zhibiaoshuju, df_zhibiaoliebiao, datecol='date', end_time='', y
df['ds'] = pd.to_datetime(df['ds'])
# 获取 start_year 对应年份的第一天日期
start_date = datetime.datetime(config.start_year, 1, 1).strftime('%Y-%m-%d')
start_date = datetime.datetime(config.start_year, 1, 1)
# 删除全为空值的列
df = df.dropna(axis=1, how='all')
# 删除开始时间没有数据的列
config.logger.info(f'删除开始时间没有数据的列前数据量:{df.shape}')
for col in df.columns:
if col == 'ds': # 跳过 'ds' 列
continue
@ -806,7 +808,9 @@ def datachuli(df_zhibiaoshuju, df_zhibiaoliebiao, datecol='date', end_time='', y
# 判断对应的 'ds' 是否大于 start_date
if df.loc[first_valid_index, 'ds'] > start_date:
df.drop(columns=[col], inplace=True)
config.logger.info(f'删除开始时间没有数据的列:{col},第一条数据日期为:{df.loc[first_valid_index, "ds"]}')
config.logger.info(f'删除开始时间没有数据的列后数据量:{df.shape}')
# 获取start_year年到end_time的数据
df = df[df['ds'].dt.year >= config.start_year]