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

PythonのPandasDataFrameのすべての行に関数を適用します


このチュートリアルでは、リストの最も一般的な方法について学習します。 つまり、 append() およびextend() 。それらを1つずつ見てみましょう。

apply()

これは、DataFrameのすべての行に関数を適用するために使用されます。たとえば、それぞれの数値をすべて乗算して新しい列として追加する場合は、apply()メソッドが役立ちます。それを達成するためのさまざまな方法を見てみましょう。

#pandas packageimport pandas as pd#function to multiplydef multiply(x、y):return x * y#dataFramedata ={'Maths':[10、34、53]、'Programming': [23、12、43]}#datadata_frame =pd.DataFrame(data)#を使用してDataFrameを作成し、DataFrameprint('-------------------- Before --- ---------------')print(data_frame)print()#関数を適用するmultiplydata_frame ['Multiply'] =data_frame.apply(lambda row:multiply(row ['Maths'] 、row ['Programming'])、axis =1)#displaying DataFrameprint('-------------------- After ----------- -------')print(data_frame)

出力

上記のプログラムを実行すると、次の結果が得られます。

 -------------------- Before ------------------ Maths Programming0 10 231 34 122 53 43 --------------------後------------------数学プログラミング乗算01023 2301 34 12 4082 53 43 2279 

sum、pow、などの事前定義された関数を使用することもできます など、

#パンダパッケージをインポートするパンダをpdとしてインポートする#DataFramedataの辞書を作成する={'数学':[10、34、53]、'プログラミング':[23、12、43]}#datadata_frameを使用してDataFrameを作成する=pd.DataFrame(data)#displaying DataFrameprint('-------------------- Before ------------------ ')print(data_frame)print()#組み込みのsumを使用して関数multiply#を適用するfunctiondata_frame ['Multiply'] =data_frame.apply(sum、axis =1)#displaying DataFrameprint(' -------- ------------ After ------------------')print(data_frame)

出力

上記のプログラムを実行すると、次の結果が得られます。

 -------------------- Before ------------------ Maths Programming0 10 231 34 122 53 43 --------------------後------------------数学プログラミング乗算01023 331 34 12 462 53 43 96 

numpyモジュールの関数を使用することもできます。一例を見てみましょう。

#pandasパッケージのインポートpandas as pd#関数のnumpyモジュールのインポートimport numpy as np#DataFramedataの辞書の作成={'Maths':[10、34、53]、'Programming':[23、12、43 ]}#datadata_frame =pd.DataFrame(data)#を使用してDataFrameを作成し、DataFrameprint('-------------------- Before --------- ---------')print(data_frame)print()#関数multiplyを適用する#numpyのsum関数を使用するmoduledata_frame ['Multiply'] =data_frame.apply(np.sum、axis =1)# DataFrameprint('-------------------- After ------------------')print(data_frame)<を表示しています/ pre> 

出力

上記のプログラムを実行すると、次の結果が得られます。

 -------------------- Before ------------------ Maths Programming0 10 231 34 122 53 43 --------------------後------------------数学プログラミング乗算01023 331 34 12 462 53 43 96 

結論

上記のように、 apply()を使用できます。 すべての行に関数を適用するDataFrameのメソッド。チュートリアルについて疑問がある場合は、コメントセクションにその旨を記載してください。


  1. PandasDataFrameのすべての行に関数を適用します

    各行にラムダ関数を適用することにより 例 import pandas as pd df = pd.DataFrame([(10, 3, 13),(0, 42, 11),(26, 52, 1)], columns=list('xyz')) print("Existing matrix") print(df) NewMatrix = df.apply(lambda a: a + 10, axis=1) print("Modified Matrix") print(NewMatrix) 出力 上記のコードを実行すると、次の結果が得られます-

  2. pandasDataFrameの上部に行を追加します

    パンダでは、DataFrameは2次元のデータ構造です。つまり、データは行と列に表形式で配置されます。 list、dict、series、および別のDataFrameを使用してDataFrameを作成できます。ただし、すでに作成されているDataFrameに新しい行を追加する場合は、DataFrameの最後に追加するappendなどの組み込みメソッドを使用して実行されます。この記事では、DataFrame内の要素のインデックスを含むいくつかのトリックを使用して、DataFrameの上部に新しい行DataFrameを追加する方法を見つけます。 例 まず、以下に示すパンダで新しいDataFram