CHARLS_NL.py 1.1 KB

12345678910111213141516171819202122
  1. import pandas as pd
  2. years = [2011, 2013,2015, 2018, 2020]
  3. #读取夜光数据
  4. pollutants_data = pd.read_csv("night_light_result.csv", encoding="utf-8")
  5. #读取CHARLS数据
  6. CHARLS_data = pd.read_csv("Medical_code/paper_code_2/CHARLS_data_pollutants.csv")
  7. print(CHARLS_data.info())
  8. for year in years:
  9. #新增两列,分别为year的去年和前年的环境值
  10. # CHARLS_data[['last_year_pm2.5', "before_last_pm2.5"]]=''
  11. #开始筛选出year的数据
  12. CHARLS_data_year = CHARLS_data[CHARLS_data['wave']==year]
  13. #两个表合并
  14. table_merge = pd.merge(CHARLS_data_year, pollutants_data, left_on="city", right_on="ext_name", how='left')
  15. # table_merge_last.to_csv("123.csv",index=False)
  16. #更新CHARLS表
  17. CHARLS_data.loc[CHARLS_data['wave']==year, 'cur_year_nl'] = table_merge[str(year)].values
  18. CHARLS_data.loc[CHARLS_data['wave']==year, 'last_year_nl'] = table_merge[str(year-1)].values
  19. CHARLS_data.loc[CHARLS_data['wave']==year, 'before_last_nl'] = table_merge[str(year-2)].values
  20. print(year)
  21. CHARLS_data.to_csv("Medical_code/paper_code_2/CHARLS_data_p_n.csv",index=False)