【发布时间】:2018-12-16 23:36:30
【问题描述】:
如果我有一个 Pandas DataFrame 并且想要计算每列的中值,则参数 axis=1 似乎应该按列给出中值(根据文档)。但实际上,axis=0 给出了列的中位数。这是一个简单的可复制示例:
import pandas as pd
my_data = [[1.1, 2.2, 3.3], [1.2, 2.3, 3.4], [1.3, 2.4, 3.5]]
df = pd.DataFrame(my_data)
print(df.head())
print("\nTry to calculate median with axis=1\n")
print(df.median(axis=1))
它按行显示中位数。将其更改为 axis=0 按列显示中位数。这是否与为 DataFrame 设置索引的方式有关?
【问题讨论】:
-
说熊猫
axis语义与它们不一致,您想到的究竟是什么“其他Python 函数”?此外,似乎本文档部分中提到的所有函数,包括apply,在axis语义中都是一致的:pandas.pydata.org/pandas-docs/stable/… -
想到了 DataFrame 的 drop 函数:要从列中删除,请指定 axis=1。
标签: python pandas indexing axis median