これらの2つのことを反対であると考えるのは正しいですか?これは私の混乱の大きな原因となっています。以下 pandas/numpyの軸はRのMARGINの反対ですか?
私はRとPythonのデータフレームの列和を見つける例です。 MARGIN
とaxis
の反対の値に注目してください。 R(列マージンすなわち、MARGIN=2
を使用)で
:
Pythonでm <- matrix(1:6, nrow=2)
apply(m, MARGIN=2, mean)
[1] 1.5 3.5 5.5
(行軸、すなわち、axis=0
を使用):
In [25]: m = pd.DataFrame(np.array([[1, 3, 5], [2, 4, 6]]))
In [26]: m.apply(np.mean, axis=0)
Out[26]:
0 1.5
1 3.5
2 5.5
dtype: float64
語源とニーモニックをありがとう。残念ながら、Rの最初の次元は依然として行を参照しています( 'help(apply)'から:行列1は行を表し、2は列を表します**)。この違いを理解したり覚えたりする別の方法がありますか? – Heisenberg
@ Heisenberg私は違いが行ごとにそれを行うと各行の操作をしていると思います。 numpy/pandasでは、 'sum(axis = 0)'を使うとき、行全体に渡って合計を取ることを意味します(実際には列方向の集約です)。 – ayhan
@Heisenberg:私はそれを明確にするために私の答えに追加しました。最終的に覚えておくのは、それを練習することだけです。最終的に考える必要はありません。 –