この短いガイドでは、Pandas DataFrame でランダムな整数を生成する方法について説明します。

  • シングルDataFrame列
  • 複数DataFrame 列

また、これらの整数を浮動小数点数や文字列などのさまざまなデータ型に変換する方法も説明します。

単一のデータフレーム列にランダムな整数を生成する

以下は、単一の DataFrame 列の下にランダムな整数を生成するために使用できるテンプレートです。

import numpy as np
import pandas as pd

data = np.random.randint(lowest integer, highest integer, size=number of random integers)

df = pd.DataFrame(data, columns=["column name"])

print(df)

たとえば、次の情報に基づいてランダムな整数を生成したいとします。

  • 最小の整数は 5 です (5 を含む)
  • 最大の整数は30(含まない)です
  • サイズは10です

次に、このコードを Python で適用します。

import numpy as np
import pandas as pd

data = np.random.randint(5, 30, size=10)

df = pd.DataFrame(data, columns=["random_numbers"])

print(df)

コードを実行すると、10 個のランダムな整数 (サイズ 10 で指定) が取得されます。

Pandasデータフレームでランダムな整数を生成する 1

ランダムな整数を生成するときに、最小の整数 (上記のコードでは 5 など) が含まれる場合がありますが、最大の整数 (上記のコードでは 30 など) は除外されることに注意してください。

複数のデータフレーム列にランダムな整数を生成する

複数の DataFrame 列の下にランダムな整数を生成するテンプレートを次に示します。

import pandas as pd

data = np.random.randint(lowest integer, highest integer, size=(number of random integers per column, number of columns))

df = pd.DataFrame(
    data, columns=["column name 1", "column name 2", "column name 3", ...]
)

print(df)

たとえば、ランダムな整数を含む 3 つの列を作成するには、以下のコードを適用できます。

import numpy as np
import pandas as pd

data = np.random.randint(5, 30, size=(10, 3))

df = pd.DataFrame(
    data, columns=["random_numbers_1", "random_numbers_2", "random_numbers_3"]
)

print(df)

そして結果は次のとおりです。

Pandasデータフレームでランダムな整数を生成する 2

データ型を確認する

コードの末尾に print(df.dtypes) を追加すると、Pandas DataFrame のデータ型を確認できます。

import numpy as np
import pandas as pd

data = np.random.randint(5, 30, size=(10, 3))

df = pd.DataFrame(
    data, columns=["random_numbers_1", "random_numbers_2", "random_numbers_3"]
)

print(df)
print(df.dtypes)

ご覧のとおり、3 つの列のそれぞれのデータ型は整数です。

Pandasデータフレームでランダムな整数を生成する 3

データ型をFloatに変換する

次のように astype(float) を適用して、整数を浮動小数点数に変換できます。

import numpy as np
import pandas as pd

data = np.random.randint(5, 30, size=(10, 3))

df = pd.DataFrame(
    data, columns=["random_numbers_1", "random_numbers_2", "random_numbers_3"]
).astype(float)

print(df)
print(df.dtypes)

3 つの列それぞれのデータ型が float になっていることがわかります。

Pandasデータフレームでランダムな整数を生成する 4

データ型を文字列に変換する

あるいは、astype(str) を使用して整数を文字列に変換することもできます。

import numpy as np
import pandas as pd

data = np.random.randint(5, 30, size=(10, 3))

df = pd.DataFrame(
    data, columns=["random_numbers_1", "random_numbers_2", "random_numbers_3"]
).astype(str)

print(df)
print(df.dtypes)

これで、文字列を表す「object」が取得されます。

Pandasデータフレームでランダムな整数を生成する 5