python - 如何为 pandas 数据框添加标题

标签 python pandas

我有以下代码,可以使用 df.describe 为分类变量的每个类打印出描述性统计数据

for i in list(merged.Response.unique()):
  print(merged[(merged.Response==i)].describe().round(2))

它返回

       OrderCount  OrderAvgSize  AvgDeliverCost  AvgOrderValue  CustomerValue
count      687.00        687.00          687.00         687.00         687.00
mean        24.75         13.45            4.56           9.61         243.91
std          7.04          3.35            0.17           1.95         107.45
min         11.00          7.00            4.13           5.85          83.27
25%         20.00         11.00            4.45           8.18         167.44
50%         24.00         13.00            4.57           9.34         213.08
75%         29.00         15.00            4.67          10.51         289.74
max         51.00         24.00            4.97          15.75         700.80
       OrderCount  OrderAvgSize  AvgDeliverCost  AvgOrderValue  CustomerValue
count      1099.0       1099.00         1099.00        1099.00        1099.00
mean         17.2          6.85            4.08           5.18          97.88
std          12.8          2.47            0.24           1.45         101.26
min           1.0          2.00            3.24           2.40           5.72
25%           7.0          5.00            3.89           4.12          31.38
50%          14.0          7.00            4.13           5.21          62.58
75%          24.0          8.00            4.22           5.86         130.90
max          55.0         21.00            4.91          13.46         686.46
       OrderCount  OrderAvgSize  AvgDeliverCost  AvgOrderValue  CustomerValue
count      392.00        392.00          392.00         392.00         392.00
mean        12.41         11.46            4.44          10.13         125.04
std          3.75          3.34            0.19           1.94          43.91
min          3.00          6.00            4.02           6.98          36.92
25%         10.00          9.00            4.31           8.71          92.68
50%         13.00         10.00            4.38           9.30         121.58
75%         15.00         13.00            4.51          11.00         148.64
max         26.00         22.00            4.94          16.25         266.56

有什么方法可以为每个汇总表添加标题,以便我知道哪个类是哪个类?

我用 pandas styler 编写了以下内容,但是尽管给数据框起了标题,它只打印了其中一个,而且看起来不太好(顺便说一句,我在 google colab 中):

for i in list(merged.Response.unique()):
  test = merged[(merged.Response==i)].describe().round(2).style.set_caption(i)

test

                               AmznPrime
OrderCount  OrderAvgSize    AvgDeliverCost  AvgOrderValue   CustomerValue
count   392.000000  392.000000  392.000000  392.000000  392.000000
mean    12.410000   11.460000   4.440000    10.130000   125.040000
std 3.750000    3.340000    0.190000    1.940000    43.910000
min 3.000000    6.000000    4.020000    6.980000    36.920000
25% 10.000000   9.000000    4.310000    8.710000    92.680000
50% 13.000000   10.000000   4.380000    9.300000    121.580000
75% 15.000000   13.000000   4.510000    11.000000   148.640000
max 26.000000   22.000000   4.940000    16.250000   266.560000

感谢所有帮助。谢谢!

最佳答案

怎么样:

merged.groupby("Response").describe().round(2)

要匹配您的预期输出,请执行stack/unstack:

merged.groupby("Response").describe().stack(level=1).unstack(level=0)

关于python - 如何为 pandas 数据框添加标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64881586/

相关文章:

python - 使用基于组的条件删除一些 Pandas 数据框行

python - 编写过滤行数据框的函数时出现问题

python - 如何从 python 运行 MS Access 宏

Python 包和导入 - 需要澄清

python - 数据框子集中的字符串索引 - Pandas

python - 如何将具有相同名称的 Pandas 列替换为另一个数据框?

python - 我可以找到替代的 `.loc` 替代 Pandas 数据框中的替换功能吗

python - 如何在 django 中构建功能测试、单元测试和其他测试?

python - 在 Bokeh 谷歌离线 map 上重绘

c++ - Boost.Python - 如何重新进入模块范围?