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

Pythonでプログラムを作成して、特定のDataFrame内のランダムな奇数インデックス行を選択します


データフレームがあると仮定します

DataFrame is:
 id mark age
0 1 70   12
1 2 60   13
2 3 40   12
3 4 50   13
4 5 80   12
5 6 90   13
6 7 60   12

そして、ランダムな奇数のインデックス行を選択した結果は、

です。
Random odd index row is:
 id    4
mark   50
age    13

解決策

これを解決するには、以下の手順に従います-

  • データフレームを定義する

  • 空のリストを作成して、奇数のインデックス値を追加します

  • すべてのインデックスにアクセスするためのforループを作成します。以下に定義されています

for i in df.index.values:
  • 奇数インデックスをチェックするif条件を作成します。一致する場合は、値をリストに追加します。

if(i%2==1):
l.append(i)
  • リストから任意の1つのランダムな値を生成し、それをrandom_index

    に保存します。
random_index = rand.choice(l)
  • 最後に、ilocを使用して奇数のインデックス行を印刷します。

df.iloc[random_index]

理解を深めるために、以下の実装を見てみましょう-

import pandas as pd
import random as rand
df = pd.DataFrame({'id': [1,2,3,4,5,6,7],
                  'mark': [70,60,40,50,80,90,60],
                  'age':[12,13,12,13,12,13,12]
                  })
print("DataFrame is:\n",df)
l = []
for i in df.index.values:
   if(i%2==1):
      l.append(i)
random_index = rand.choice(l)
print("Random odd index row is: \n", df.iloc[random_index])

出力

DataFrame is:
 id mark age
0 1 70   12
1 2 60   13
2 3 40   12
3 4 50   13
4 5 80   12
5 6 90   13
6 7 60   12
Random odd index row is:
 id    4
mark   50
age    13
Name: 3, dtype: int64

  1. Pythonでプログラムを作成して、一連の5つのランダムな偶数インデックスの小文字のアルファベットを生成します

    ソリューション1 リストに小文字のアルファベットを定義します。 forループを作成し、偶数のインデックス要素を見つけて、別のリストに追加します。以下に定義されています    ls = []    for i in l:       if(l.index(i)%2==0):          ls.append(i) 最後に、ランダムなサンプル5の値をリストに適用し、系列を生成します。 例 import pandas as pd import stri

  2. Pythonで指定された2つのリストのいずれかの最終インデックスに到達するためのコストを見つけるためのプログラム

    同じ長さの数値nums0とnums1の2つのリストがあり、距離としてd、コストとしてcの他の2つの値があるとします。 nums0またはnums1のいずれかでインデックス0から開始し、いずれかのリストの最終インデックスで終了したい場合。これで、各ラウンドで、コストのコストについて他のリストに切り替えることを選択できます。次に、最大d距離離れたところにジャンプできます。ここで、インデックスに着陸するためのcコストは、その時点での値です。したがって、タスクを完了するために可能な最小の総コストを見つける必要があります。 したがって、入力がnums0 =[2、3、10、10、6] nums1 =[10