需要输出一个 Pandas Dataframe df.describe() ,以便列由统计数据和列名称的连接来命名,因此有 1 个标题和 1 个数据行

问题描述 投票:0回答:1

四处寻找,无果。我有一个Pandas数据框describe(),其中包含名为Height、Weigh、Mass的3列,并为了保持简短而列出了由describe()生成的平均值、标准差、最小值、最大值等统计数据列表。请注意,此数据框是由大约 1000 个相同类型数据的文件之一的内容创建的,每个文件最多包含 50 到 200 行或更多行数据,其中有 13 列,在本例中我仅显示 3 列。 我需要将各个 y 列的 x 行统计数据数组转换为一行数据和一行标题的数据帧。 例如。

          Height     Weight     Mass
Mean      5          8          12
std       2          1          3
min       3          5          6
max       7          10         13.5

希望我的输出如下

Height-mean Height-std Height-min Height-max Weight-mean Weight-std Weight-min Weight-max..... .......on to the 3rd column
5            2           3           7           8            1           5           10 ......

所以本质上是标题和行(统计标签)的串联...最终我想将这个2行表或至少数据行输出到csv并运行所有文件(参见上面最多大约1000个并附加他们的数据到 csv,然后导入该文件,这样我就可以找到具有各个列的最佳值的文件。也许我正在吃午饭,不知道如何执行此要求,并且完全错误地执行它,但是我认为这可以用 python 实现。

我尝试在这个网站和其他围绕 python 包的网站上搜索几个小时,但似乎 pandas 应该能够做到这一点,但即使我认为我有人问类似的问题,它似乎也没有得到正确的回答。感谢您在此事上提供的任何专业知识

python pandas dataframe datatable transpose
1个回答
0
投票

用途:

out = df.unstack().to_frame().T
out.columns = out.columns.map(lambda x: f'{x[0]}-{x[1]}')
print (out)
   Height-Mean  Height-std  Height-min  Height-max  Weight-Mean  Weight-std  \
0          5.0         2.0         3.0         7.0          8.0         1.0   

   Weight-min  Weight-max  Mass-Mean  Mass-std  Mass-min  Mass-max  
0         5.0        10.0       12.0       3.0       6.0      13.5  
© www.soinside.com 2019 - 2024. All rights reserved.