My Python script is flagging as AI-generated in a ChatGPT detector. I want to avoid that. Could someone tweak my Python script to make it seem more human-written and less AI-detectable? import os import sys import pandas as pd import numpy as np def load_population_csv(csv_file_path): """ Load and tidy a CSV of prefecture populations by year. """ raw_df = pd.read_csv(csv_file_path) raw_df.rename(columns={'Prefecture': 'prefecture_name'}, inplace=True) records = [] for _, row in raw_df.iterrows(): prefecture = row.prefecture_name for column in raw_df.columns: if column == 'prefecture_name': continue census_year = int(column) raw_value = row[column] records.append({ 'prefecture_name': prefecture, 'year': census_year, 'population_raw': raw_value }) expanded_df = pd.DataFrame(records) cleaned_populations = [] for raw_val in expanded_df['population_raw']: text = str(raw_val).replace(',', '').strip() if text == '–' or not text.isdigit(): cleaned_populations.append(np.nan) else: # original data is in thousands cleaned_populations.append(int(text) * 1000) expanded_df['population'] = cleaned_populations expanded_df.dropna(subset=['population'], inplace=True) expanded_df['population'] = expanded_df['population'].astype(int) return expanded_df[['prefecture_name', 'year', 'population']] if __name__ == '__main__': # Determine data directory data_dir = os.getenv('PG_DATA_DIR', r'C:\pg_data') if not os.path.isdir(data_dir): print('Data directory missing:', data_dir) sys.exit(1) # Load historical population data historical_population_df = load_population_csv( os.path.join(data_dir, 'prefecture_population_1920_2020.csv') ) # Load mortality and migration data mortality_df = pd.read_csv(os.path.join(data_dir, 'Mortality.csv')) migration_df = pd.read_csv(os.path.join(data_dir, 'Migration.csv')) mortality_df.rename(columns={'Prefecture': 'prefecture_name'}, inplace=True) migration_df.rename(columns={'Prefecture': 'prefecture_name'}, inplace=True) # Identify the most recent year in both datasets latest_mortality_year = max(int(col) for col in mortality_df.columns if col.isdigit()) latest_migration_year = max(int(col) for col in migration_df.columns if col.isdigit()) if latest_mortality_year != latest_migration_year: print(f'Years differ: mortality {latest_mortality_year}, migration {latest_migration_year}') sys.exit(1) forecast_start_year = latest_mortality_year # Create lookup dicts for rates mortality_rate = mortality_df.set_index('prefecture_name')[str(forecast_start_year)].to_dict() migration_rate = migration_df.set_index('prefecture_name')[str(forecast_start_year)].to_dict() # Prepare base populations for forecasting last_hist_year = historical_population_df['year'].max() future_years = range(last_hist_year + 1, 2041) base_population = ( historical_population_df .query('year == @last_hist_year') .set_index('prefecture_name')['population'] .to_dict() ) # Forecast future populations forecast_records = [] for prefecture, initial_pop in base_population.items(): projected_pop = initial_pop for year in future_years: annual_rate = (mortality_rate.get(prefecture, 0) + migration_rate.get(prefecture, 0)) / 1000.0 projected_pop = int(projected_pop * (1 + annual_rate)) forecast_records.append({ 'prefecture_name': prefecture, 'year': year, 'population': projected_pop }) forecast_df = pd.DataFrame(forecast_records) # Combine historical and forecast data with clear columns hist_df = historical_population_df.rename(columns={'population': 'historical_population'}) hist_df = hist_df[['prefecture_name', 'year', 'historical_population']].assign(population=np.nan) fore_df = forecast_df[['prefecture_name', 'year', 'population']].assign(historical_population=np.nan) merged_df = pd.concat([hist_df, fore_df], ignore_index=True) # Fill final population: historical where available, else forecast merged_df['population'] = merged_df['historical_population'].combine_first(merged_df['population']).astype(int) # Extract forecasts for 2021 onward and save output_df = merged_df.query('year >= 2021')[['prefecture_name', 'year', 'population']] output_file = os.path.join(data_dir, 'testing_prefecture_forecasts_2021_2040_counts.csv') output_df.to_csv(output_file, index=False) print('Done. Saved forecasts to', output_file) # Print total population per year total_by_year = output_df.groupby('year')['population'].sum() print('\nTotals:') for year, total in total_by_year.items(): print(f'{year}: {total:,}') Continue reading...