Python'da çeşitli dağılımlara göre (mesela normal ya da tekdüze dağılıma göre) rastgele sayılar veya seriler oluşturma nasıl olur?
Şu kod tekdüze dağılıma göre bir sayı veriyor (vereceği sayıyı default olarak 0'la 1 arasından seçiyor):
np.random.uniform()
bu da yine tekdüze dağılımda ama belirli bir aralıkta bir sayı veriyor:
np.random.uniform(low=0, high=10)
Array oluşturmak istersek şu kodu giriyoruz: (ilk iki sayı sınırları, sondaki sayı kaç elemanlı olacağını gösteriyor)
np.random.uniform(0, 10, size=4)
Birden fazla array oluşturmak istersek de: (mesela her biri 3 elemanlı 2 array)
np.random.uniform(0, 10, size=(2, 3))
Bu array'leri histogram'da göstermek içinse:
import numpy as np
import matplotlib.pyplot as plt
a = np.random.uniform(0, 10, 10000)
sns.histplot(a)
plt.show()
Bir de aynısını normal dağılımla yapalım: (tek değişiklik "uniform" yerine "normal" yazıyoruz. bu yukarıdakiler için de geçerli.)
import numpy as np
import matplotlib.pyplot as plt
a = np.random.normal(0, 10, 10000)
sns.histplot(a)
plt.show()
Peki iki veya üç boyutlu bir düzlemde rastgele noktalar oluşturmak istersek nasıl bir kod yazıyoruz? O da burada:
import numpy as np
# Generate 100 random data points along 3 dimensions
x, y, scale = np.random.randn(3, 100)
fig, ax = plt.subplots()
# Map each onto a scatterplot we'll create with Matplotlib
ax.scatter(x=x, y=y, c=scale, s=np.abs(scale)*500)
ax.set(title="Some random data, created with JupyterLab!")
plt.show()
Hiç yorum yok:
Yorum Gönder