ホームページ >バックエンド開発 >Python チュートリアル >Pandas でグループ化された合計を新しい列として追加するときに NaN 値を回避するにはどうすればよいですか?
groupby 合計演算の結果から DataFrame に新しい列を作成しようとするときpandas を使用すると、一部のユーザーが新しい列で NaN 値に遭遇します。主な問題は、グループ固有の合計を個々の行に割り当てようとするときに発生します。
この問題を解決する鍵となるのは、インデックスが整列した Series を返す変換関数を使用することです。データフレームに。変換を使用すると、結果を新しい列として DataFrame に追加できます。
次のコード スニペットを考えてみましょう。
import pandas as pd df = pd.DataFrame({ 'Date': ['2015-05-08', '2015-05-07', '2015-05-06', '2015-05-05', '2015-05-08', '2015-05-07', '2015-05-06', '2015-05-05'], 'Sym': ['aapl', 'aapl', 'aapl', 'aapl', 'aaww', 'aaww', 'aaww', 'aaww'], 'Data2': [11, 8, 10, 15, 110, 60, 100, 40], 'Data3': [5, 8, 6, 1, 50, 100, 60, 120] }) df['Data4'] = df['Data3'].groupby(df['Date']).transform('sum') print(df)
出力:
Date Sym Data2 Data3 Data4 0 2015-05-08 aapl 11 5 55 1 2015-05-07 aapl 8 8 108 2 2015-05-06 aapl 10 6 66 3 2015-05-05 aapl 15 1 121 4 2015-05-08 aaww 110 50 55 5 2015-05-07 aaww 60 100 108 6 2015-05-06 aaww 100 60 66 7 2015-05-05 aaww 40 120 121
として図に示すように、新しい列 Data4 の各行は、対応する日付グループの Data3 値の合計を反映し、NaN の最初の問題に効果的に対処します。値。
以上がPandas でグループ化された合計を新しい列として追加するときに NaN 値を回避するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。