0

int と文字列が混在するデータフレームがあります。

In [81]: df
Out[81]: 
   0   1
0  1  hi
1  3   4

フレーム全体の数値のみの合計を取得する最も簡単な方法は何ですか? 上記の例では、8 という結果が期待されます (つまり、'hi' を無視して合計します)。

データフレームに数字しかない場合は、df.sum().sum() または df.as_matrix().sum() を実行できるようです。

ただし、タイプが混在しているため、 sum() は私が望むことをしていないようです:

In [82]: df.sum()
Out[82]: 
0    4
dtype: int64

numeric_only フラグを使用しても何も変わらないようです。

軸を指定すると、正しい結果が得られることに気付きました。

In [96]: df.sum(axis=0).sum() + df.sum(axis=1).sum()
Out[96]: 8

しかし、これを行うより簡単な方法があるかどうか疑問に思っていました。

ありがとう。

4

1 に答える 1