python - 索引包含多个值数据帧枢轴

标签 python pandas pivot dataframe

我目前在数据框中拥有以下格式的数据:

           metric__name  sample sample_date
0    ga:visitBounceRate     100  2012-11-13
1    ga:uniquePageviews      20  2012-11-13
2          ga:newVisits      19  2012-11-13
3             ga:visits      20  2012-11-13
4   ga:percentNewVisits      95  2012-11-13
5  ga:pageviewsPerVisit       1  2012-11-13
6          ga:pageviews      20  2012-11-13
7    ga:visitBounceRate      72  2012-11-14
8    ga:uniquePageviews      63  2012-11-14
9          ga:newVisits      39  2012-11-14

话虽这么说,我正在尝试将 metric__name 列分解成这样的内容。

                ga:visitBounceRate ga:uniquePageviews ga:newVisits     etc...
sample_date
2012-11-13                100                20                 19     etc...

我正在执行以下操作以获得我想要的结果。

df.pivot(index='sample_dates', columns='metric__name', values='samples')

我不断得到的是索引包含多个值,它确实包含多个值,但为什么它不明白有相似的值并将它们映射到我在所需输出中所做的同一行?

最佳答案

使用pivot_table (不会抛出此异常):

In [11]: df.pivot_table('sample', 'sample_date', 'metric__name')
Out[11]:
metric__name  ga:newVisits  ga:pageviews  ga:pageviewsPerVisit  ga:percentNewVisits  ga:uniquePageviews  ga:visitBounceRate  ga:visits
sample_date
2012-11-13              19            20                     1                   95                  20                 100         20
2012-11-14              39           NaN                   NaN                  NaN                  63                  72        NaN

它接受聚合函数(默认为平均值):

aggfunc : function, default numpy.mean, or list of functions
     If list of functions passed, the resulting pivot table will have hierarchical columns
     whose top level are the function names (inferred from the function objects themselves)

关于两者的区别,我认为pivot只是 reshape (如果出现问题则抛出错误),而pivot_table提供更高级的功能,也称为“电子表格样式数据透视表”。

关于python - 索引包含多个值数据帧枢轴,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17556786/

相关文章:

python - pandas groupby 可以聚合成一个列表,而不是 sum、mean 等吗?

SQL 硬编码数据透视

python - 在 python 中确定 unicode 字符串的解码方法的最佳方法是什么

python - 使用 Pandas 过滤 Excel 表格

python - 如何在NER模型和QA模型之间做出选择?

Python 分组依据和带有空格的求和

sql - Hive SQL 中的转置/透视表

python - 重新排列 panda 数据帧列中的值

python - pandas如何根据逗号将单行拆分为多行并删除第三个括号和单引号?

python - 访问数据框列中值的最佳方法是什么?