从阅读pandas文档和一个很好的问答(What does axis in pandas mean?)来看,我期望axis=0始终表示与列相关的值。当我使用sum()时,这对我是有效的,但在我使用dropna()调用时,则相反。在
当我有这样的数据帧时:raw_data = {'column1': [42,13, np.nan, np.nan],
'column2': [4,12, np.nan, np.nan],
'column3': [25,61, np.nan, np.nan]}
看起来像这样:
^{pr2}$
我可以打印各列的总和,轴=0。还有这个:df = pd.DataFrame(raw_data )
print(df.sum(axis=0))
给出输出:column1 55.0
column2 16.0
column3 86.0
当我试图从axis=0的dataframe中删除值时,这应该是针对columns*。但当我这么做的时候:dfclear=df.dropna(axis=0,how='all')
print(dfclear)
我得到输出:column1 column2 column3
0 42.0 4.0 25.0
1 13.0 12.0 61.0
在这里,我期望得到以下结果(我用axis=1得到):
^{pr2}$
所以在我看来,axis在sum()和dropna()之间的行为是不同的
我有什么遗漏吗?在