bad*_*eas 28 python dataframe pandas
A B
DATE
2013-05-01 473077 71333
2013-05-02 35131 62441
2013-05-03 727 27381
2013-05-04 481 1206
2013-05-05 226 1733
2013-05-06 NaN 4064
2013-05-07 NaN 41151
2013-05-08 NaN 8144
2013-05-09 NaN 23
2013-05-10 NaN 10
Run Code Online (Sandbox Code Playgroud)
说我有上面的数据框.获得具有相同索引的系列的最简单方法是什么,即A列和B列的平均值?平均需要忽略NaN值.扭曲的是,此解决方案需要灵活地向数据框添加新列.
我最接近的是
df.sum(axis=1) / len(df.columns)
Run Code Online (Sandbox Code Playgroud)
但是,这似乎并没有忽略NaN值
(注意:我对熊猫图书馆还有点新意,所以我猜这有一种明显的方法可以做到这一点,我的有限大脑根本就没有看到)
DSM*_*DSM 61
简单地使用df.mean()
就NaNs做的正确的事情(tm):
>>> df
A B
DATE
2013-05-01 473077 71333
2013-05-02 35131 62441
2013-05-03 727 27381
2013-05-04 481 1206
2013-05-05 226 1733
2013-05-06 NaN 4064
2013-05-07 NaN 41151
2013-05-08 NaN 8144
2013-05-09 NaN 23
2013-05-10 NaN 10
>>> df.mean(axis=1)
DATE
2013-05-01 272205.0
2013-05-02 48786.0
2013-05-03 14054.0
2013-05-04 843.5
2013-05-05 979.5
2013-05-06 4064.0
2013-05-07 41151.0
2013-05-08 8144.0
2013-05-09 23.0
2013-05-10 10.0
dtype: float64
Run Code Online (Sandbox Code Playgroud)
df[["A", "B"]].mean(axis=1)
如果有其他列要忽略,您可以使用.