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

Pythonでプログラムを作成して、特定のDataFrameで最小値を見つけ、新しい行と列に最小値を格納します


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

one two three 0 12 13 5 1 10 6 4 2 16 18 20 3 11 15 58

最小値を新しい行と列に格納した結果は-

です。
Add new column to store min value
 one   two  three min_value
0 12    13   5       5
1 10    6    4       4
2 16    18  20      16
3 11    15  58      11
Add new row to store min value
   one   two   three min_value
0   12    13    5       5
1   10     6    4       4
2   16    18   20       16
3   11    15   58       11
4   10    6     4       4

解決策

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

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

  • 各列の最小値を計算し、次の手順を使用して新しい列として保存します。

df['min_value'] = df.min(axis=1)
  • 各行の最小値を見つけて、以下の手順を使用して新しい行として保存します。

df.loc[len(df)] = df.min(axis=0)

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

import pandas as pd
import numpy as np
data = [[12,13,5],[10,6,4],[16,18,20],[11,15,58]]
df = pd.DataFrame(data,columns=('one','two','three'))
print("Add new column to store min value")
df['min_value'] = df.min(axis=1)
print(df)
print("Add new row to store min value")
df.loc[len(df)] = df.min(axis=0)
print(df)

出力

Add new column to store min value
 one   two  three min_value
0 12    13   5       5
1 10    6    4       4
2 16    18  20      16
3 11    15  58      11
Add new row to store min value
   one   two   three min_value
0   12    13    5       5
1   10     6    4       4
2   16    18   20       16
3   11    15   58       11
4   10    6     4       4

  1. Pythonでプログラムを作成して、特定のシリーズのNaN値のインデックスを見つけます

    入力 − シリーズがあると仮定します 0    1.0 1    2.0 2    3.0 3    NaN 4    4.0 5    NaN 出力 − そして、NaNインデックスの結果は次のとおりです。 index is 3 index is 5 解決策 これを解決するには、以下の手順に従います- シリーズを定義します。 forループを作成してすべての要素にアクセスし、if条件を設定してisnan()をチェックします。最後に、インデックス位置を印刷

  2. 行と列の最大の要素がPythonで指定されている場合に、元の行列を見つけます

    それぞれサイズNとMの2つの配列AとBがあり、1つのN X Mバイナリ行列もあるとします。1は元の行列に正の整数があったことを示し、0は位置は元の行列にも0を保持しています。 A [i]がi番目の行の最大要素を示し、B [j]がj番目の列の最大要素を示すように、元の行列を生成する必要があります。 したがって、入力がA =[4、2、3]、B =[3、1、0、0、4、0、5]行列のような場合、出力は行列になります これを解決するには、次の手順に従います- N:=Aのサイズ M:=Bのサイズ 0からNの範囲のiの場合、実行 0からMの範囲のjについては、次のようにします