Homepage: https://program-board.com
Dieses Mal wollte ich mit verschiedenen Beispieldaten spielen, aber ich hatte das Gefühl, dass es eine API gibt, die ich leicht erstellen kann, aber der Freiheitsgrad ist gering, also habe ich beschlossen, sie selbst zu erstellen.
Installieren Sie das Modul. Hier verwenden wir Pandas, Numpy und ein Modul namens Faker, mit dem leicht gefälschte Daten generiert werden können.
pip install faker
Beschreibt die grundlegende Verwendung von faker. Bereiten Sie sich darauf vor, mit Faker ('ja_JP') gefälschte Daten für Japanisch zu generieren. Versuchen Sie danach, beliebige Daten zu generieren. Obwohl es auf Englisch ist, werden die Daten, die Faker generieren kann, auf der folgenden Site aufgelistet. https://www.nblog09.com/w/2019/01/24/python-faker/
Hier werden Name, Präfektur, Firma, Geburtsdatum und Beruf generiert.
#Japanische gefälschte Dateneinstellungen
from faker import Faker
#Japanische gefälschte Dateneinstellungen
fakegen = Faker('ja_JP')
print(fakegen.name())#Name
print(fakegen.prefecture())#Präfekturen
print(fakegen.company()) #Unternehmen
print(fakegen.date_of_birth()) #Geburtstag
print(fakegen.job()) #Beruf
Generieren Sie zunächst gefälschte Daten zu Name, Geburtsdatum, Adresse (Präfektur), Beruf und Firma.
import numpy as np
import pandas as pd
from numpy.random import *
from faker import Faker
#Japanische gefälschte Dateneinstellungen
fakegen = Faker('ja_JP')
faker_list = []
for i in range(1000):
name = fakegen.name() #Name
pref = fakegen.prefecture() #Präfekturen
company = fakegen.company() #Unternehmen
birth = fakegen.date_of_birth() #Geburtstag
job = fakegen.job() #Beruf
faker_list.append([name,pref,company,birth,job])
#Datenrahmen
df = pd.DataFrame(faker_list,columns=['Name','Adresse','Unternehmen','Geburtstag','Beruf'])
Sie können es einfach so erstellen.
Erzeugt gefälschte Altersdaten. Hier wird numpy verwendet, um Daten aus gleichmäßig verteilten Zufallszahlen von 15 bis 85 zu erzeugen. In Anbetracht der fehlenden Werte werden hier nur 800 erstellt. Wenn Sie fehlende Werte für andere Elemente generieren, wird die Anordnung der Daten so verwechselt, dass sie sich nicht in derselben Zeile überlappen.
age_list = randint(15,85,800) #Gleichmäßige Verteilung(untere Grenze,Höchstgrenze,Anzahl der Generationen)
#Zum Datenrahmen hinzufügen
df['Alter'] = pd.DataFrame(age_list)
#Es bringt die Anordnung der Daten durcheinander.
df = df.sample(frac=1)
Erzeugt gefälschte Daten zum Jahreseinkommen und zur Körpergröße. Hier wird numpy verwendet, um den Mittelwert und die Varianzwerte angemessen zu bestimmen, und Daten werden aus der Normalverteilung erzeugt.
#Höhe
height_list = normal(170,6,900) #Normalverteilung(durchschnittlich,Verteilt,Anzahl der Generationen)
height_list = np.round(height_list,decimals=0) #Ganzzahliger Stopp
#Zum Datenrahmen hinzufügen
df['Höhe'] = pd.DataFrame(height_list)
#Es bringt die Anordnung der Daten durcheinander.
df = df.sample(frac=1)
#jährliches Einkommen
income_list = normal(400,8,850) #Normalverteilung(durchschnittlich,Verteilt,Anzahl der Generationen)
income_list = np.round(income_list,decimals=0) #Ganzzahliger Stopp
#Zum Datenrahmen hinzufügen
df['jährliches Einkommen'] = pd.DataFrame(income_list)
#Es bringt die Anordnung der Daten durcheinander.
df = df.sample(frac=1)
Für gefälschte Heiratsdaten werden Zufallszahlen mit einer festen Rate für die von np.random.choice of numpy vorbereiteten Optionen generiert.
#Sex
mariage = ['Unverheiratet','verheiratet','Trennung'] #Entscheidungen
Weight = [0.4,0.3,0.3] #Prozentsatz
mariage_list = np.random.choice(mariage,700,p=Weight) #np.random.choice(Entscheidungen,Anzahl der Generationen,Prozentsatz)
#Zum Datenrahmen hinzufügen
df['Ehe'] = pd.DataFrame(mariage_list)
#Es bringt die Anordnung der Daten durcheinander.
df = df.sample(frac=1)
Zum Üben der Datenanalyse wurden gefälschte Daten generiert. Um jedoch Daten für die Analysepraxis zu generieren, müssen Typ und Parameter der für die Generierung verwendeten Verteilung bestätigt und ausgeführt werden.
https://www.nblog09.com/w/2019/01/24/python-faker/ https://qiita.com/ogamiki/items/4821173ca713a6b77510
Recommended Posts