我希望有人能帮助我理解 pandas.DataFrame.quantile 中“single”和“table”方法之间的区别?
是否计算每列(“单”)或所有列(“表”)的分位数。 https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.quantile.html
例如,以下代码会产生相同的结果。
import numpy as np
import pandas as pd
df = pd.DataFrame(np.array([[1, 1], [2, 10], [3, 100], [4, 100]]), columns=["a", "b"])
print(df.quantile(method="single", interpolation="nearest"))
print(df.quantile(method="table", interpolation="nearest"))
a 3
b 100
Name: 0.5, dtype: int64
a 3
b 100
Name: 0.5, dtype: int64
这是一个示例,其中当仅考虑完整表的列时,
b
中的分位数是不同的:
df = pd.DataFrame(
np.array([[1, 50], [1, 50], [4, 50], [4, 5]]), columns=['a', 'b']
)
print(df.quantile(method='single', interpolation='nearest'))
print(df.quantile(method='table', interpolation='nearest'))
输出:
a 4
b 50
Name: 0.5, dtype: int64
a 4
b 5
Name: 0.5, dtype: int64