Python
 Computer >> コンピューター >  >> プログラミング >> Python

特定のDataFrameから任意の1つのランダムな行を選択するPythonコードを記述します


入力

サンプルのDataFrameが

であると仮定します。
 Id Name
0 1 Adam
1 2 Michael
2 3 David
3 4 Jack
4 5 Peter

出力

Random row is
  Id    5
Name Peter

解決策

これを解決するために、以下のアプローチに従います。

  • DataFrameを定義する

  • df.shape [0]を使用して行数を計算し、rows変数に割り当てます。

  • 以下に示すように、randrangeメソッドからrandom_row値を設定します。

random_row = r.randrange(rows)
  • ilocスライシング内にrandom_rowを適用して、DataFrameにランダムな行を生成します。以下に定義されています

df.iloc[random_row,:]

理解を深めるために、次の実装を見てみましょう。

import pandas as pd
import random as r
data = { 'Id': [1,2,3,4,5],'Name': ['Adam','Michael','David','Jack','Peter']}
df = pd.DataFrame(data)
print("DataFrame is\n", df)
rows = df.shape[0]
print("total number of rows:-", rows)
random_row = r.randrange(rows)
print("print any random row is\n")
print(df.iloc[random_row,:])

出力

DataFrame is
 Id Name
0 1 Adam
1 2 Michael
2 3 David
3 4 Jack
4 5 Peter
total number of rows:- 5
print any random row is
  Id   3
Name David

  1. Python-Pandasデータフレームから複数の列を選択します

    以下は、MicrosoftExcelで開いたCSVファイルの内容であるとしましょう- 最初に、CSVファイルからPandasDataFrameにデータをロードします- dataFrame = pd.read_csv("C:\\Users\\amit_\\Desktop\\SalesData.csv") 複数の列レコードを選択するには、角かっこを使用します。括弧内の列に言及し、データセット全体から複数の列をフェッチします- dataFrame[['Reg_Price','Units']] 例 以下はコードです- import pa

  2. PythonPandas-データフレームから行のサブセットを選択します

    行のサブセットを選択するには、条件を使用してデータをフェッチします。 以下は、MicrosoftExcelで開いたCSVファイルの内容であるとしましょう- 最初に、CSVファイルからPandasDataFrameにデータをロードします- dataFrame = pd.read_csv("C:\\Users\\amit_\\Desktop\\SalesData.csv") 「Units」が100を超えるCarレコード、つまり行のサブセットが必要だとします。これには、-を使用します dataFrame[dataFrame["Units"] >