【发布时间】:2022-11-01 23:25:45
【问题描述】:
我想一次性找到我的数据集中每一列的四分位数值,我的数据集名称为 df4。我怎么做?
我尝试使用 For 循环,但并没有真正得到预期的输出。
【问题讨论】:
-
欢迎来到堆栈溢出!您能否提供一个数据集示例和您正在使用的当前代码?从现在开始这样做对您未来的问题也会更有帮助。
我想一次性找到我的数据集中每一列的四分位数值,我的数据集名称为 df4。我怎么做?
我尝试使用 For 循环,但并没有真正得到预期的输出。
【问题讨论】:
您可以将 np.percentile 函数与每列所需的四分位数/百分位数值一起使用,最后以字典的形式提取值。可以参考代码sn -p
import numpy as np
df4 = pd.DataFrame({'col1': [1,2,3,4,5,6], 'col2': [4,5,6,7,8,9]})
perc_df = {}
for c in df4.columns:
q_list = []
for i in [0, 0.25, 0.5, 0.75, 1]:
p = np.percentile(np.array(df4[c]), i)
q_list.append(p)
perc_df[c] = q_list
pd.DataFrame(perc_df)
【讨论】: