❃ Хижина программиста Æ
15K subscribers
1.23K photos
88 videos
23 files
2.88K links
Канал для IT Дизайнеров и Программистов, Инженеров и Преподавателей

📡 Ссылка на канал: @hut_programmer_07

⚖️ Фундаментальные знания по основам программирования, философии и этики

💡 По вопросам рекламы: @quadd4rv1n7

Σ 只
Download Telegram
Pet-проекты и данные для Data-Engineer

⚡️ При изучении дата-инжиниринга часто возникает вопрос: «откуда брать данные?»

1️⃣ Брать реальные данные откуда‑то.
2️⃣ Генерить данные самостоятельно.

Первый вариант хорош, но сложнее, потому что к такого вида данным сложнее получить доступ и я бы этот вариант использовал, если вы хотите на этих данных строить какой‑то продукт или аналитику. Если обобщить, то сделать данные «полезными».

Второй вариант как по мне более предпочтителен, потому что вы сможете проверить больше инструментов и возможностей в своих pet‑проектах и не особо задумываться над качеством и источником данных. Но также стоит упомянуть, что можно генерировать довольно правдоподобные данные, которые можно будет использовать для аналитики или визуализаций.

APILayer APIs
Faker

🖥 Оптимизировал пример создания ненастоящего пользователя:
from faker import Faker
from datetime import timedelta
import random

fake = Faker(locale='ru_RU')

def generate_fake_user(min_age=18, max_age=70, registration_years=5):
"""
Генерирует фейковый профиль пользователя.

:param min_age: минимальный возраст пользователя
:param max_age: максимальный возраст пользователя
:param registration_years: максимальное количество лет назад для даты регистрации
:return: словарь с данными пользователя
"""
# Генерация даты рождения и даты регистрации
birthday = fake.date_of_birth(minimum_age=min_age, maximum_age=max_age)
registration_at = fake.date_time_between(start_date=f"-{registration_years}y", end_date="now")

# Генерация фейкового профиля пользователя
fake_user = {
'first_name': fake.first_name(),
'last_name': fake.last_name(),
'middle_name': fake.middle_name(),
'phone_number': fake.phone_number(),
'email': fake.email(),

# Генерация адресных данных с логической структурой
'address': {
'country': fake.country(),
'country_code': fake.country_code(),
'region': fake.region(),
'city': fake.city(),
'street_address': fake.street_address(),
'postcode': fake.postcode(),
},

# Дополнительные сведения о пользователе
'occupation': fake.job(),
'company': fake.company(),
'work_phone': fake.phone_number(),
'marital_status': random.choice(['Single', 'Married', 'Divorced', 'Widowed']),
'website': fake.url(),

# Даты
'registration_at': registration_at,
'birthday': birthday,

# Профиль в социальных сетях и банковские реквизиты (при необходимости)
'social_profile': fake.url(),
'credit_card': {
'number': fake.credit_card_number(),
'provider': fake.credit_card_provider(),
'expiration_date': fake.credit_card_expire(),
}
}
return fake_user

# Пример использования
fake_user = generate_fake_user()
print(fake_user)


⌨️ Теги: #analytics #faker #api #generate #user #profile #данные #генерация #quadd4rv1n7 #maximdupley #2024
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2