これは簡単なはずですが、どういうわけか、うまくいく解決策を見つけることができませんでした。パンダ - データフレームgroupby - 複数の列の合計を取得する方法
私はこのようになりますパンダのデータフレームがあります。
index col1 col2 col3 col4 col5
0 a c 1 2 f
1 a c 1 2 f
2 a d 1 2 f
3 b d 1 2 g
4 b e 1 2 g
5 b e 1 2 g
私はcol1とcol2のでグループ化するとCOL3とCOL4のsum()
を取得します。データを集約できないため、Col5
を削除することはできません。
出力は次のようになります。結果のデータフレームにcol3
とcol4
の両方を持つことに興味があります。 col1
とcol2
が索引の一部であるかどうかは実際問題ではありません。ここで
index col1 col2 col3 col4
0 a c 2 4
1 a d 1 2
2 b d 1 2
3 b e 2 4
は、私が試したものです:
df_new = df.groupby(['col1', 'col2'])["col3", "col4"].sum()
しかし唯一col4
の集計結果を返すこと。
私はここで迷っています。私が見つけたすべての例は、明らかに問題が発生していない1つの列のみを集計しています。
問題は 'df.col3.dtype'はそうではないと思われます'int'または数値データ型です。 'groupby'を実行する前に' df.col3 = df.col3.astype(int) 'を試してください –