paint-brush
Cómo crear datos ficticios en Pythonpor@davisdavid
16,109 lecturas
16,109 lecturas

Cómo crear datos ficticios en Python

por Davis David4m2021/09/13
Read on Terminal Reader
Read this story w/o Javascript

Demasiado Largo; Para Leer

Los datos ficticios son datos generados aleatoriamente que pueden sustituirse por datos en vivo. Faker es un paquete de Python simple que genera datos falsos con diferentes tipos de datos. El paquete python de Faker está fuertemente inspirado en PHP Faker, Perl Faker y Ruby Faker. En los siguientes ejemplos, aprenderá 10 formas diferentes de crear datos ficticios de fechas y horas. También puede crear más de un perfil de datos en un marco de datos de pandas con solo unas pocas líneas de código. En el siguiente ejemplo, crearemos un perfil básico falso con información personal como nombre, género, correo y dirección.

People Mentioned

Mention Thumbnail

Company Mentioned

Mention Thumbnail
featured image - Cómo crear datos ficticios en Python
Davis David HackerNoon profile picture

Los datos ficticios son datos generados aleatoriamente que pueden sustituirse por datos en vivo. Tanto si es desarrollador, ingeniero de software o científico de datos, a veces necesita datos ficticios para probar lo que ha creado, puede ser una aplicación web, una aplicación móvil o un modelo de aprendizaje automático.

Si está utilizando el lenguaje python, puede usar un paquete faker python para crear datos ficticios de cualquier tipo, por ejemplo, fechas, transacciones, nombres, textos, hora y otros. Faker es un paquete de Python simple que genera datos falsos con diferentes tipos de datos.

El paquete Faker está fuertemente inspirado en PHP Faker , Perl Faker y Ruby Faker.

En este artículo, aprenderá una forma diferente de crear datos ficticios mediante el uso del paquete python de Faker.

Tabla de contenido:

  1. Instalación falsa
  2. Crear generador de falsificadores
  3. Crear nombres
  4. Crear fechas y horas
  5. Crear perfil personal
  6. Crear datos de oraciones y párrafos
  7. Crear datos localizados
  8. Crear los mismos datos falsos
  9. Referencia


Cómo instalar Faker para crear datos ficticios

Puede instalar el paquete con pip de la siguiente manera:

 pip install Faker

Nota: Desde la versión 4.0.0, Faker eliminó la compatibilidad con Python 2 y desde la versión 5.0.0 solo es compatible con Python 3.6 y superior.

Crear Faker Generator para datos ficticios

Para crear e inicializar un generador faker use el método Faker().

 from faker import Faker fake = Faker()

Ahora puede comenzar a crear diferentes datos ficticios que desee.

Crear nombres

Puede usar el método name() para crear nombres falsos completos.

 for _ in range( 10 ): print(fake.name())

mateo marrón
Sra. Julie Chávez
calvin pequeño
manuel ponce
Alyssa Jackson DVM
amy delgado
mateo smith
Sara Rojas
Cristal Werner
tina moore

Nota: También puede usar el método first_name() para crear el nombre y el método last_name() para crear el apellido.

Crear fechas y horas

Si está trabajando con fechas, faker ofrece diferentes formas de crear fechas y horas falsas. En los siguientes ejemplos, aprenderá 10 formas diferentes de crear datos ficticios de fechas y horas.

 print(fake.date_between(start_date= "-3y" ,end_date= "-1y" )) # date between 2018 and 2020 print(fake.month()) print(fake.date_time()) print(fake.year()) print(fake.month_name()) print(fake.date_time_this_year()) print(fake.time()) print(fake.timezone()) print(fake.day_of_week()) print(fake.time_object())

2019-05-31
02
2012-05-31 17:53:01
2002
Noviembre
2021-06-30 00:34:48
08:17:51
África/Gaborone
jueves
17:59:37

Crear un perfil personal

Si desea crear información personal y de identidad falsa, puede usar los métodos profile y simple_profile de la biblioteca faker.

El método simple_profile crea un perfil básico falso con información personal como nombre, género, correo y dirección.

 generateProfile = Faker() generateProfile.simple_profile()

{'usuario': 'qfowler',
'nombre': 'Mateo Greene',
'sexo': 'M',
'dirección': 'USNV López\nFPO AA 45803',
'correo': '[email protected]',
'fecha de nacimiento': fechahora.fecha(1995, 8, 14)}

El método de perfil crea perfiles e identidades personales falsos, como trabajo, empresa, residencia, grupo sanguíneo, ubicación actual y otros.

 generateProfile.profile()

{'empleo': 'Diseñador, plató de cine/televisión',
'compañía': 'Murillo, Short y Townsend',
'ssn': '893-14-6729',
'residencia': '6596 Daniel Spring Suite 910\nJonesborough, ID 59049',
'ubicación_actual': (Decimal('4.2622025'), Decimal('-39.109752')),
'grupo_sangre': 'O-',
'sitio web': ['https://hardin-johnson.org/',
'https://patterson.com/',
'https://george-snyder.info/'],
'nombre de usuario': 'samuelbooth',
'nombre': 'Shawna Spencer',
'sexo': 'F',
'dirección': '125 Darrell Extension Suite 575\nPort Michaelbury, PA 12381',
'correo': '[email protected]',
'fecha de nacimiento': fechahora.fecha(1989, 11, 25)}

También puede crear más de un perfil y guardar los datos del perfil en un marco de datos de pandas para su análisis. En el siguiente ejemplo, crearemos 1000 perfiles con solo 3 líneas de código.

 import pandas as pd generateProfile = Faker() # generate 1000 profiles data = [generateProfile.profile() for i in range( 1000 )] # save profiles in pandas dataframe df = pd.DataFrame(data) print(df) 

Observemos los nombres de las columnas de los 1000 perfiles creados.

 print(df.columns)

Index(['trabajo', 'compañía', 'ssn', 'residencia', 'ubicación_actual', 'grupo_sanguíneo',
'sitio web', 'nombre de usuario', 'nombre', 'sexo', 'dirección', 'correo', 'fecha de nacimiento'], dtype='objeto')

Tenemos 13 columnas en el conjunto de datos. Ahora puede usar los datos ficticios que genera para el análisis y la visualización de datos.

Crear datos de oraciones y párrafos

Si está trabajando en un proyecto de software, puede usar la biblioteca Faker para generar datos de texto falsos para probar algunas funciones en su aplicación web o móvil. La biblioteca Faker proporciona 4 métodos diferentes para crear datos de texto de la siguiente manera.

(a) Crear un solo párrafo

 generateText = Faker() generateText.text()

'Objetivo todo lo tradicional a. Sugerir etapa parada internacional. Mantenga la línea al sur a través de la nueva carga nacional.\nFuerza de éxito comercial de dinero cercano. Cinco decisión incluso medio ambiente aviso cada.'

(b) Crear párrafos múltiples

 generateTexts = Faker() generateTexts.texts()

['Juntos requieren aumentar la imagen de viento de crecimiento. El consumidor del árbol de tareas de producción reconoce personal.',
'Ser seis cuya respuesta. Sr. aceite exitoso bajo opción particular.\nPaso ni una sola subida. Ojo gracias prueba quedate solo servicio de prueba. Entonces senior dentro de la acción de capital. Pistola ya todo el jardín de letreros.',
'Pintura ahora término dirección. Será dentro de la barra natural propósito mayor.\nOtros oyen tema hacer su. La institución entre la educación se reiría de un ejemplo. Declaración real para niños específicos capaces extranjeros.']

(c) Crear una sola oración

 generateSentence = Faker() generateSentence.sentence()

'Pase la responsabilidad frontal.'

(d) Crear oraciones múltiples

 generateSentences = Faker() generateSentences.sentences()

['Mantener toma estrella alguien podría empleado de cocina.',
'Pagar debe comenzar la palabra propia.',
'Lugar de ciudadano aunque viejo a pesar de la estancia.']

Crear datos localizados

La biblioteca Faker admite la creación de datos localizados. Debe pasar la configuración regional como argumento a la clase Faker; de forma predeterminada, admite la configuración regional en_US.

Puede encontrar una lista de proveedores localizados aquí .

En el siguiente ejemplo, crearemos 10 nombres de China.

 fake_local = Faker( 'zh_CN' ) for _ in range( 10 ): print(fake_local.name())

李小红赵桂香陈小红罗建华宋华刘秀芳郭秀华朱秀云金艳侯琴

También puede establecer varias configuraciones regionales desde la versión 3.0.0.

 multiple_fake = Faker([ 'uk_UA' , 'en_US' , 'ja_JP' ]) for _ in range( 10 ):    print(multiple_fake.city())

長生郡長生村
Christielandia
Rileyshire
長生郡白子町
Puerto Curtisborough
Pruittview
селище Одарка
хутір Богодар
село Альберт
横浜市都筑区

En el ejemplo anterior, creamos varias ciudades desde 3 ubicaciones diferentes.

Crear los mismos datos falsos

Para crear la misma salida de datos falsos, debe generar el generador falso y luego puede ejecutar el mismo código.

 myGenerator = Faker() myGenerator.random.seed( 1234 ) for i in range( 10 ):    print(myGenerator.country())

Eslovaquia (República Eslovaca)
Kazajistán
Brasil
Albania
islas Bermudas
Islas ultramarinas menores de los Estados Unidos
Sahara Occidental
Wallis y Futuna
Sri Lanka
Mozambique

Nota: Puede usar cualquier número aleatorio como semilla.

Referencia

  1. Falsificador Github
  2. Documentación del farsante

Si aprendiste algo nuevo o disfrutaste leyendo este artículo, compártelo para que otros puedan verlo. Hasta entonces, ¡nos vemos en el próximo post!

También puedes encontrarme en Twitter @Davis_McDavid .

Y puedes leer más artículos como este aquí .

¿Quiere mantenerse al día con lo último en python? Suscríbase a nuestro boletín en el pie de página a continuación.