Python・PandasでDataFrame(データフレーム)の全行を合計する方法
PandasのDataFrameで各行の値を合計したい場合は、sum()関数を使い、引数axisに1を指定します。axis=1は「行方向」の計算を意味し、各行に含まれる複数の列の値が横方向に加算されます。
ここでは、「Opening_Stock(期首在庫)」と「Closing_Stock(期末在庫)」の2つの列を持つDataFrameを作成し、その行ごとの合計を求める手順を解説します。
1. サンプル用のDataFrameを作成する
まずは、合計を計算するためのDataFrameを用意します。
dataFrame = pd.DataFrame({
"Opening_Stock": [300, 700, 1200, 1500],
"Closing_Stock": [200, 500, 1000, 900]
})2. sum()関数で行の合計を求める
行の値を加算するには、sum()関数の引数axisに1を設定します。これにより、各レコード(行)ごとに列の値が合計され、Seriesとして結果が返されます。
dataFrame = dataFrame.sum(axis=1)
完全なサンプルコード
以下に、作成から合計の表示までの一連のコードを示します。
import pandas as pd
# サンプル用のDataFrameを作成
dataFrame = pd.DataFrame({
"Opening_Stock": [300, 700, 1200, 1500],
"Closing_Stock": [200, 500, 1000, 900]
})
print("DataFrame...\n", dataFrame)
# 行の合計を求める(axis=1で行方向に加算)
dataFrame = dataFrame.sum(axis=1)
print("\nSumming rows...\n", dataFrame)実行結果
上記のコードを実行すると、次のような出力が得られます。
DataFrame...
Closing_Stock Opening_Stock
0 200 300
1 500 700
2 1000 1200
3 900 1500
Summing rows...
0 500
1 1200
2 2200
3 2400
dtype: int64ポイントのまとめ
sum(axis=1)を使うことで、DataFrameのすべての行を簡単に合計できます。逆にaxis=0(デフォルト値)を指定した場合は、列ごとの合計が計算される点に注意してください。また、欠損値(NaN)が含まれる場合はデフォルトで除外して計算されるため、必要に応じてskipna=Falseなどのオプションも活用できます。
-
【Python】Pandas DataFrameからnull(欠損値)行を削除する方法|dropna()の使い方
PandasのDataFrameからnull(NaN)行を削除するには、dropna()メソッドを使用します。この記事では、NaNを含むCSVファイルを読み込み、dropna()で欠損値を含む行を取り除くまでの手順を、サンプルコードと実行結果とともにわかりやすく解説します。前提:NaNを含むCSVファイル今回の例では、一部にNaN(null値)が含まれる以下のようなCSVファイル(CarRecords.csv)を使用します。手順1:read_csv()でCSVファイルを読み込むまずpandasをインポートし、read_csv()を使ってCSVファイルを読み込みます。ここではデスクトップ上に保存
-
【Python・pandas】グループ化された水平棒グラフをプロットし、すべての列を表示する方法
pandasのDataFrameからグループ化された水平棒グラフを作成し、すべての列を一度に表示したい場合は、plot.barh()メソッドを使います。x軸・y軸の値を個別に指定しないことで、DataFrame内の数値型の列が自動的に検出され、それぞれがグループ化された状態で描画されます。必要なライブラリのインポートまず、データ操作用のpandasと、グラフ描画用のmatplotlibをインポートします。import pandas as pd import matplotlib.pyplot as pltサンプル用のDataFrameを作成するここでは、「車種名」「排気量」「登録価格」の3つの