Open roberthsu2003 opened 1 week ago
import pandas as pd
import os
def make_data_frame(file_path: str) -> pd.DataFrame:
df = pd.read_csv(file_path)
df.columns = df.iloc[0]
df1 = df.drop(0).dropna()
df2 = df1.set_index('區域別')
return df2
dir_ = '人口密度'
dfs = []
for file in os.listdir(dir_):
dfs.append(make_data_frame(f'{dir_}/{file}'))
pd.concat(dfs)
import json
import pandas as pd
import os
from pandas import DataFrame
def data_merge(source_path:str,second:DataFrame)->DataFrame:
pop_density = pd.read_csv(source_path)
pop_density.columns = ['統計年','區域別','年底人口數','土地面積','人口密度']
pop_density.columns = pop_density.iloc[0].values.tolist()
pop_1 = pd.merge(pop_density,second)
pop_1 = pop_density.drop(index=[0])
pop_1.dropna(inplace= True)
return pop_1
merges= []
info_df1= pd.DataFrame(columns = ['統計年','區域別','年底人口數','土地面積','人口密度'])
for file_name in os.listdir('人口密度'):
if 'opendata' in file_name:
merges.append(data_merge(os.path.abspath(f'人口密度/{file_name}'),info_df1))
df2 = pd.concat(merges,ignore_index=True)
df2.set_index('區域別',inplace=True)
df2.sort_values(['區域別','統計年'],ascending=True,inplace=True)
df2
import os
import pandas as pd
from pandas import DataFrame
def data_merge(source_path:str,second:DataFrame)->DataFrame:
pop_density = pd.read_csv(source_path)
pop_density.columns = ['統計年','區域別','年底人口數','土地面積','人口密度']
pop_density.columns = pop_density.iloc[0].values.tolist()
pop_1 = pd.merge(pop_density,second)
pop_1 = pop_density.drop(index=[0])
pop_1.dropna(inplace= True)
return pop_1
merges= []
info_df1= pd.DataFrame(columns = ['統計年','區域別','年底人口數','土地面積','人口密度'])
for file_name in os.listdir('人口密度'):
if 'opendata' in file_name:
merges.append(data_merge(os.path.abspath(f'人口密度/{file_name}'),info_df1))
df2 = pd.concat(merges,ignore_index=True)
df2.set_index('區域別',inplace=True)
df2.sort_values(['區域別','統計年'],ascending=True,inplace=True)
df2
import json
import pandas as pd
from pandas import DataFrame
import os
def value_to_int(value:str)->int:
try:
return int(value)
except ValueError:
return 0
def data_merge(sourse_path:str)->DataFrame:
people_df=pd.read_csv(sourse_path)
people_df.columns=people_df.iloc[0]
people_df1=people_df.drop(index=[0]).dropna()
people_df2=people_df1.set_index('區域別')
people_df2['年底人口數']=people_df2['年底人口數'].map(value_to_int)
people_df2['人口密度']=people_df2['人口密度'].map(value_to_int)
return people_df2
merges=[]
for file_name in os.listdir('人口密度') :
if 'opendata' in file_name:
merges.append(data_merge(os.path.abspath(f'人口密度/{file_name}')))
pd.concat(merges)
import os
import pandas as pd
from pandas import DataFrame
def data_merge(source_path:str,second:DataFrame)->DataFrame:
pop_density = pd.read_csv(source_path)
pop_density.columns = ['統計年','區域別','年底人口數','土地面積','人口密度']
pop_density.columns = pop_density.iloc[0].values.tolist()
pop_1 = pd.merge(pop_density,second)
pop_1 = pop_density.drop(index=[0])
pop_1.dropna(inplace= True)
return pop_1
merges= []
info_df1= pd.DataFrame(columns = ['統計年','區域別','年底人口數','土地面積','人口密度'])
for file_name in os.listdir('人口密度'):
if 'opendata' in file_name:
merges.append(data_merge(os.path.abspath(f'人口密度/{file_name}'),info_df1))
df2 = pd.concat(merges,ignore_index=True)
df2.set_index('區域別',inplace=True)
df2.sort_values(['區域別','統計年'],ascending=True,inplace=True)
df2
import os
from pandas import DataFrame
import pandas as pd
def data_merge(source_path:str) -> DataFrame:
people_df1 = pd.read_csv(source_path)
people_df1.columns = people_df1.iloc[0].values.tolist()
people_df2 = people_df1.drop(index=[0]).dropna()
index = people_df2.set_index('區域別')
return index
merges = []
for file_name in os.listdir('人口密度'):
merges.append(data_merge(f'人口密度/{file_name}'))
mergedata = pd.concat(merges)
mergedata.sort_values(['區域別','統計年'],ascending=True,inplace=True)
mergedata