Python — generátor náhodných dat

Zpět na blog

Python — generátor náhodných dat

python numpy pandas csv excel clipboard

Vygenerujte si náhodná data v Pythonu. S malou pomocí numpypandas to jde snadno, rychle a budete k tomu potřebovat jen pár řádků.

Výsledná data si uložíte do textového souboru (CSV), do Excelu a také si je rovnou zkopírujete do schránky pomocí CTRL-V nebo na Macu ⌘-V.

Tento článek navazuje na návod, který jsme zveřejnili nedávno. Ukazovali jsme v něm, jak generovat náhodná data pomocí SQL. Python ve srovnání s SQL nabízí ještě víc možností, jak se s tímto úkolem poprat.

My jsme vybrali knihovny numpypandas, protože jsou v datové vědě (Data Science) hodně používané. Určitě neuškodí se jim trochu podívat pod pokličku.

Import knihoven

Naimportujeme knihovny, které budeme potřebovat.

import numpy as np
import pandas as pd
from datetime import date

Nastavení

Proměnné, pomocí kterých můžeme snadno měnit výsledná data.

# Nastavení
pocet_radku = 100
pocet_znaku = 10
pocatecni_datum = date.today()

Vytvoření dat

Pomocí knihovny numpy vytvoříme 3 pole, která obsahují náhodná data.

# Vytvoření dat
cisla = np.random.randint(low=100, high=1001,
                          size=pocet_radku)              # čísla 100-1000
znaky = np.random.randint(low=65, high=91,
                          size=pocet_radku*pocet_znaku,
                          dtype='int32'
                          ).view(f"U{pocet_znaku}")      # znaky A-Z
datumy = np.datetime64(pocatecni_datum,'D') - cisla      # datumy

Pokud vám vrtá hlavou, proč při generování proměnné znaky používáme čísla 65-90, zkuste si v Pythonu příkaz chr(65).

Vytvoření DataFrame

Abychom si mohli data snadno uložit v různých formátech.

# Vytvoření DataFrame
df = pd.DataFrame(data={'číslo': cisla,
                        'řetězec': znaky,
                        'datum': datumy})

Uložení do CSV, Excel a Clipboardu

Nejběžnější formáty. Každý si vybere. 😉

# CSV, Excel, Clipboard
df.to_csv('lovely-data.csv', index=False)
df.to_excel('lovely-data.xlsx', index=False)
df.to_clipboard(index=False)

print('Hotovo')
číslo řetězec     datum
525   ZSQGBLVRZL  2019-08-07
352   PQZKCQGTKN  2020-01-27
251   CAEAWDGNKM  2020-05-07
208   LDAKNBBLYT  2020-06-19
776   CIJWQECSBN  2018-11-29
...   ..........  ..........

Ke stažení

Kompletní program si můžete stáhnout jako soubor.


Líbil se vám článek? Sdílejte ho s ostatními

nebo nám napište něco hezkého. Děkujeme!

Zpět na blog

Python - základy

Naučte se základy Pythonu - populárního jazyka, který vzal datovou vědu doslova útokem.

Zobrazit kurz

SQL pro analytiky 2 - pokročilí

Naučte se vytvářet složité dotazy, databázové objekty a používat pokročilé funkce jazyka SQL.

Zobrazit kurz

OK, Python

Automatizujte rutinní práci v Excelu, nechte za sebe pracovat Python a zjednodušte si život.

Zobrazit knihu

Hledáme další autory

Publikujte na Lovely Blogu a inspirujte ostatní! Sdílením svých znalosti si budujete osobní značku.

Kontaktujte nás

Odběr novinek

Novinky, návody a tipy přímo do vašeho emailu.

Copyright © 2018-2024, Colorbee, s.r.o.

Designed by grafikli.cz in Prague.