[PYTHON] Eine einfache Version der Regierungsstatistik (Einwanderungskontrolle), die mit Jupyter einfach zu handhaben ist

Ich nahm die Einwanderungsstatistik des Justizministeriums und erstellte Einfache Version von Notebok zur Verarbeitung.

Ich habe viele Kommentare, aber ich denke, es ist bequem zu ändern, weil es nicht klassifiziert ist.

Fügen Sie den Jupyter-Code unten ein.

#Nehmen Sie die minimalen Bibliothekseinstellungen vor.
import pandas as pd #Laden einer Datenverarbeitungsbibliothek namens pandas
import re  #Für reguläre Ausdrücke
from IPython.display import display, HTML #Laden Sie die Bibliothek zur Anzeige

#Holen Sie sich die Excel-Daten und legen Sie sie in Pandas. Das allein ist okay
#Das ursprüngliche Excel ist die Voraussetzung für ein Blatt.
moto= pd.read_excel('http://www.e-stat.go.jp/SG1/estat/GL08020103.do?_xlsDownload_&fileId=000007747517&releaseCount=1')
#Das Datum ist 2016 8, also als zusätzliche Information Jahr,Stellen Sie den Monat ein. (Es ist gut zu scrollen und es automatisch zu bekommen.)
year = 2016
month = 8
#Überprüfen Sie zunächst die Gesamtzahl
count_all = int(moto.iloc[2,3])
#Überprüfen Sie die Gesamtzahl( count_Da alles eine Ganzzahl ist, zeigen Sie es als Zeichenfolge und als HTML an. )
display(HTML('<h1>Gesamtzahl= ' + str(count_all) + '<h1>'))

#moto.head()Dann können Sie schnell die ersten 5 Datenzeilen sehen.
#Das Ergebnis der letzten Laufzeile in der Zelle wird angezeigt. drucken(moto.head())Du musst es nicht tun.
#Sie können sehen, dass beim Zusammenfassen zusätzliche Zeilen und Spalten vorhanden sind.
moto.head()

#Spalten Information Der Portname stammt aus dem 5. (Kushiro) in der ersten Zeile.
columns = moto.iloc[1,4:]
#Es gibt verschiedene Probleme, wie z. B. Zeilenumbrüche, die nur durch Abrufen eingefügt werden.
display(columns[12:18])
#Index ist unbenannt:Da es 16 ist, ist es schwer zu verstehen, also ändern Sie es in eine Seriennummer. Es ist nur eine Frage des Aussehens, also müssen Sie es nicht tun.
columns.index = range(0,len(columns))
display(columns[12:18])
#Zeilenumbruch, leer,Usw. werden entfernt.
columns = columns.apply(lambda x: x.replace("\n",'').replace(' ',''))
display(columns[12:18])

# index (Land)Ein ... kreieren. (Sie müssen es nicht erstellen, können es jedoch hinzufügen, da es zum Löschen von Zeilendaten geeignet ist.)
idx = moto.iloc[3:,1]
#Zeilenumbruch, leer,Usw. werden entfernt.
idx = idx.apply(lambda x: x.replace("\n",'').replace(' ',''))
display(idx[12:18])
#Land(country), Hafen),Anzahl der Einwanderer(num)Erstellt die formatierten Daten von.
#Erstellen Sie zunächst leere Daten.
xdf = pd.DataFrame(columns=['country','port','num'])
#Vertikal angeordnetes Land,port,num 
for i in range(0,len(columns)):
    x = pd.DataFrame(idx)
    x.columns = ['country']
    x['port'] = columns[i]
    x['num'] = moto.iloc[4:,4 + i]
    x.index = idx
    x.index.name = 'country'
    xdf = xdf.append(x)
display(xdf.head(210).tail(10))

#Regionale Zwischensummen entfernen Die Zwischensummen sind NaN (keine Daten verfügbar).
area = ['Asien', 'Europa','Afrika', 'Nordamerika', 'Südamerika', 'Ozeanien']
#Ich benutze Index, um es zu löschen. Es ist einfacher als in der Suche anzugeben. an Ort und Stelle=Ich schreibe xdf direkt mit True um.
xdf.drop(area,inplace=True)
display(xdf.head(210).tail(10))

#Fügen Sie die Jahres- und Monatselemente hinzu.
xdf['year'] = year
xdf['month'] = month
display(xdf.head(210).tail(10))

#Berechnen Sie die Gesamtzahl zur Bestätigung
display(HTML('<h1>' + str(xdf['num'].sum()) + '</h1>'))

#Speichern Sie die formatierte Datei in einer Excel-Datei.
xdf.to_excel('immigration.xlsx')

Recommended Posts

Eine einfache Version der Regierungsstatistik (Einwanderungskontrolle), die mit Jupyter einfach zu handhaben ist
Lassen Sie uns eine externe Spezifikation erstellen, die einfach zu handhaben ist
[Für Anfänger] Eine Wortzusammenfassung der gängigen Programmiersprachen (Version 2018)
Installationshandbuch für Python Tools für Visual Studio
Erstellen Sie einen Datensatz mit Bildern, die für das Training verwendet werden sollen
Eine einfache Version der Regierungsstatistik (Einwanderungskontrolle), die mit Jupyter einfach zu handhaben ist
Installation von OpenMDAO (Version 1.7.1)
Installationsverfahren für Python und Ansible mit einer bestimmten Version
Verwenden Sie eine Skriptsprache für ein komfortables C ++ - Leben - OpenCV-Port Python zu C ++ -
Ich habe versucht, mit Go einen exklusiven Kontrollmechanismus zu erstellen
Machen wir einen Jupyter-Kernel
Ich habe eine einfache Mail-Sendeanwendung mit tkinter von Python erstellt
So geben Sie mit Jupyter Notebook einen Wert in der Mitte einer Zelle aus
Kostenlose Version von DataRobot! ?? Einführung in "PyCaret", eine Bibliothek, die maschinelles Lernen automatisiert
Installieren Sie separat eine Version von Python, die nicht auf Ihrem Mac vorinstalliert ist
Eine neue Form der App, die mit GitHub funktioniert: So erstellen Sie GitHub-Apps
Eine Methode zum Ersetzen eines Servers, der die Stapelverarbeitung durch cron ohne Ausfallzeiten ausführt
[Mac] Ich möchte einen einfachen HTTP-Server erstellen, auf dem CGI mit Python ausgeführt wird
Die Theorie, dass der Schlüssel zur Kontrolle der Infektion des neuen Coronavirus die Hyperdispersion der Anfälligkeit ist.
Ein einfaches System, das automatisch mit Objekterkennung aufnimmt und an LINE sendet
Mit der Docker-Version der Nginx-Einheit war es ein wenig schwierig, eine Flasche zu machen
Einfache Statistiken, mit denen die Auswirkungen von Maßnahmen auf EG-Standorte und Codes analysiert werden können, die in Jupyter-Notebooks verwendet werden können