Page d'accueil: https://program-board.com
Je voulais jouer avec divers échantillons de données cette fois, mais je sentais qu'il y avait une API que je pourrais facilement créer, mais le degré de liberté était faible, alors j'ai décidé de la créer moi-même.
Installez le module. Ici, nous utilisons des pandas, numpy et un module appelé faker qui peut facilement générer de fausses données.
pip install faker
Décrit l'utilisation de base de faker. Préparez-vous à générer de fausses données pour le japonais avec Faker ('ja_JP'). Après cela, essayez de générer tout type de données que vous aimez. Bien qu'elles soient en anglais, les données que Faker peut générer sont répertoriées sur le site suivant. https://www.nblog09.com/w/2019/01/24/python-faker/
Ici, le nom, la préfecture, l'entreprise, la date de naissance et la profession sont générés.
#Paramètres de fausses données japonais
from faker import Faker
#Paramètres de fausses données japonais
fakegen = Faker('ja_JP')
print(fakegen.name())#Nom
print(fakegen.prefecture())#Préfectures
print(fakegen.company()) #Compagnie
print(fakegen.date_of_birth()) #Anniversaire
print(fakegen.job()) #Métier
Tout d'abord, générez de fausses données sur le nom, la date de naissance, l'adresse (préfecture), la profession et l'entreprise.
import numpy as np
import pandas as pd
from numpy.random import *
from faker import Faker
#Paramètres de fausses données japonais
fakegen = Faker('ja_JP')
faker_list = []
for i in range(1000):
name = fakegen.name() #Nom
pref = fakegen.prefecture() #Préfectures
company = fakegen.company() #Compagnie
birth = fakegen.date_of_birth() #Anniversaire
job = fakegen.job() #Métier
faker_list.append([name,pref,company,birth,job])
#Trame de données
df = pd.DataFrame(faker_list,columns=['Nom','adresse de rue','Compagnie','Anniversaire','Métier'])
Vous pouvez facilement le créer comme ça.
Génère de fausses données d'âge. Ici, numpy est utilisé pour générer des données à partir de nombres aléatoires uniformément distribués de 15 à 85. Compte tenu des valeurs manquantes, seulement 800 sont créés ici. De plus, lors de la génération de valeurs manquantes pour d'autres éléments, la disposition des données est perturbée de sorte qu'elles ne se chevauchent pas sur la même ligne.
age_list = randint(15,85,800) #Distribution uniforme(limite inférieure,limite supérieure,Nombre de générations)
#Ajouter au bloc de données
df['âge'] = pd.DataFrame(age_list)
#Cela perturbe la disposition des données.
df = df.sample(frac=1)
Génère de fausses données sur le revenu annuel et la taille. Ici, numpy est utilisé pour déterminer les valeurs moyennes et de variance de manière appropriée, et les données sont générées à partir de la distribution normale.
#la taille
height_list = normal(170,6,900) #distribution normale(moyenne,Distribué,Nombre de générations)
height_list = np.round(height_list,decimals=0) #Arrêt entier
#Ajouter au bloc de données
df['la taille'] = pd.DataFrame(height_list)
#Cela perturbe la disposition des données.
df = df.sample(frac=1)
#revenu annuel
income_list = normal(400,8,850) #distribution normale(moyenne,Distribué,Nombre de générations)
income_list = np.round(income_list,decimals=0) #Arrêt entier
#Ajouter au bloc de données
df['revenu annuel'] = pd.DataFrame(income_list)
#Cela perturbe la disposition des données.
df = df.sample(frac=1)
Pour les fausses données de mariage, des nombres aléatoires sont générés à un taux fixe pour les options préparées par np.random.choice de numpy.
#sexe
mariage = ['Célibataire','marié','Séparation'] #Les choix
Weight = [0.4,0.3,0.3] #Pourcentage
mariage_list = np.random.choice(mariage,700,p=Weight) #np.random.choice(Les choix,Nombre de générations,Pourcentage)
#Ajouter au bloc de données
df['mariage'] = pd.DataFrame(mariage_list)
#Cela perturbe la disposition des données.
df = df.sample(frac=1)
De fausses données ont été générées pour pratiquer l'analyse des données. Cependant, afin de générer des données pour la pratique de l'analyse, il est nécessaire de confirmer et d'exécuter le type et les paramètres de la distribution utilisée pour la génération.
https://www.nblog09.com/w/2019/01/24/python-faker/ https://qiita.com/ogamiki/items/4821173ca713a6b77510
Recommended Posts