En-tête de «Chiyoda Ward (10KB)» dans «Âge (classe de 5 ans, 4 catégories), Population spécifique au sexe» des données du «Recensement national de 2010 (petite région) 2010/10/01» du ministère de l'Intérieur et des Communications e-Stat Essayez de comprendre la signification de. Si vous faites une erreur, je vous serais reconnaissant de bien vouloir commenter.
Fondamentalement, j'estime qu'il devrait être écrit dans le «document de définition», mais il y a de nombreux endroits où le sens du document de définition n'est pas bien compris. Je ne trouve pas le besoin d'expliquer «numéro de série» ou «hiérarchie».
En regardant les données, elles peuvent être lues comme s'il s'agissait d'une colonne de MultiIndex
comme indiqué ci-dessous.
0 | 1 |
---|---|
KEY_CODE | |
HYOSYO | |
CITYNAME | |
NAME | |
HTKSYORI | |
HTKSAKI | |
GASSAN | |
T000573001 | Nombre total, y compris l'âge "inconnu" |
T000573002 | Nombre total de 0 à 4 ans |
T000573003 | 5-9 ans au total |
T000573004 | 10-14 ans au total |
T000573005 | 15-19 ans au total |
T000573006 | 20-24 ans au total |
T000573007 | 25-29 ans au total |
T000573008 | 30-34 ans au total |
T000573009 | 35-39 ans au total |
T000573010 | 40-44 ans au total |
T000573011 | 45-49 ans au total |
T000573012 | 50-54 ans au total |
T000573013 | 55-59 ans au total |
T000573014 | Total 60-64 ans |
T000573015 | 65-69 ans au total |
T000573016 | 70-74 ans au total |
T000573017 | Moins de 15 ans |
T000573018 | 15-64 ans au total |
T000573019 | 65 ans ou plus |
T000573020 | 75 ans ou plus |
T000573021 | Nombre total d'hommes, y compris l'âge «inconnu» |
T000573022 | Homme de 0 à 4 ans |
T000573023 | Homme de 5 à 9 ans |
T000573024 | Homme 10-14 ans |
T000573025 | Homme 15-19 ans |
T000573026 | Homme 20-24 ans |
T000573027 | Homme 25-29 ans |
T000573028 | Homme 30-34 ans |
T000573029 | Homme de 35 à 39 ans |
T000573030 | Homme 40-44 ans |
T000573031 | Homme de 45 à 49 ans |
T000573032 | Homme de 50 à 54 ans |
T000573033 | Homme de 55 à 59 ans |
T000573034 | Homme de 60 à 64 ans |
T000573035 | Homme de 65 à 69 ans |
T000573036 | Homme 70-74 ans |
T000573037 | Homme de moins de 15 ans |
T000573038 | Homme 15-64 ans |
T000573039 | Homme de plus de 65 ans |
T000573040 | Homme de plus de 75 ans |
T000573041 | Nombre total de femmes, y compris l'âge «inconnu» |
T000573042 | Femme de 0 à 4 ans |
T000573043 | Femme 5-9 ans |
T000573044 | Femme 10-14 ans |
T000573045 | Femme 15-19 ans |
T000573046 | Femme 20-24 ans |
T000573047 | Femme de 25 à 29 ans |
T000573048 | Femme de 30 à 34 ans |
T000573049 | Femme de 35 à 39 ans |
T000573050 | Femme 40-44 ans |
T000573051 | Femme de 45 à 49 ans |
T000573052 | Femme de 50 à 54 ans |
T000573053 | Femme 55-59 ans |
T000573054 | Femme de 60 à 64 ans |
T000573055 | Femme de 65 à 69 ans |
T000573056 | Femme de 70 à 74 ans |
T000573057 | Femme de moins de 15 ans |
T000573058 | Femme de 15 à 64 ans |
T000573059 | Femme de plus de 65 ans |
T000573060 | Femme de plus de 75 ans |
KEY_CODE
, HYOSYO
, CITYNAME
, NAME
, HTKSYORI
, HTKSAKI
, GASSAN
ne sont pas répertoriés dans la définition précédente.
Ces significations sont importantes.
KEY_CODE
Code administratif. La taille du compartiment change en fonction du nombre de chiffres. Le nombre de chiffres est 5, 9, 11, et il est construit à partir du système de code du code administratif. Le grand compartiment et les petits compartiments qu'il contient existent également sous forme de rangées. Lorsqu'elles sont présentes en parallèle, les plus grandes parcelles contiennent la valeur totale.
HYOSYO
La profondeur du système de code assemblé de KEY_CODE
?
CITYNAME
Nom du terrain dans l'unité la plus grande
NAME
Nom du terrain dans la plus petite unité
HTKSYORI
Si un "traitement confidentiel" est effectué. Il existe deux types, "zone secrète" et "surface totale", et ils sont dans une relation mutuelle.
HTKSAKI
Une valeur est entrée lorsque «HTKSYORI» est une «zone secrète».
À utiliser en concaténation avec les 5 premiers caractères de KEY_CODE
sur la ligne correspondante.
GASSAN
Une valeur est entrée lorsque HtKSYORI
est défini sur" Il y a une superficie totale ".
À utiliser en concaténation avec les 5 premiers caractères de KEY_CODE
sur la ligne correspondante.
Lorsque plusieurs régions sont combinées, plusieurs régions sont concaténées avec un point-virgule.
pandas
Comme ça?
import pandas as pd
opts = dict(
header=[0,1],
converters={i:str for i in range(7)}
)
txt_ = pd.concat([pd.read_csv(open(f, encoding="CP932"), **opts) for f in glob.glob("tblT000573C27*.txt")])
txt_columns = txt_.columns
txt_.columns = [c[0] if c[1].startswith("Unnamed:") else c[1] for c in txt_.columns]
txt = pd.concat([txt_[txt_.columns[:7]],
txt_[txt_.columns[7:]].applymap(lambda s: 0 if s in ("-","X") else int(s))], axis=1)
for ri,r in txt.iterrows():
for s in r["GASSAN"].split(";"):
if not s:
continue
t = r["KEY_CODE"][:5]+s
assert txt[txt["KEY_CODE"]==t].shape[0] == 1
Recommended Posts