【问题标题】:Count of indexes of pandas pivot table DFpandas 数据透视表 DF 的索引计数
【发布时间】:2021-04-14 20:54:29
【问题描述】:

我已经给了df:

import pandas as pd
import numpy as np
df = pd.DataFrame({"A": ["foo", "foo", "foo", "foo", "foo",
                         "bar", "bar", "bar", "bar","zz","zz"],
                  "B": ["one", "one", "one", "two", "two",
                         "one", "one", "two", "two","xy","zz"],
                   "Name":["Peter", "Amy", "Brian", "Amy", "Amy",
                         "Peter", "Brian", "Peter", "Brian","Brian","Brian"],
                  "Year": [2019, 2019, 2019, 2019,
                         2019, 2019, 2020, 2020,
                          2020,2019,2020],
                  "Values": [20, 4, 20, 5, 6, 6, 8, 9, 9,10,5]})
df_pivot = pd.pivot_table(df, values='Values', index=['Name','A', 'B'],
                    columns=['Year'], aggfunc=np.sum, fill_value=0, margins=True, 
margins_name="Totals")

print(df_pivot)

在我以我喜欢的方式旋转它之后:

Year            2019  2020  Totals
Name   A   B                      
Amy    foo one     4     0       4
           two    11     0      11
Brian  bar one     0     8       8
           two     0     9       9
       foo one    20     0      20
       zz  xy     10     0      10
           zz      0     5       5
Peter  bar one     6     0       6
           two     0     9       9
       foo one    20     0      20
Totals            71    31     102

现在我想知道从这个 DF 中提取完整的形状以及索引列。

df.shape[0] 只给我数字 3,因为这是“带数据的列”的计数,但是前三列呢? 有没有办法计算 df 中的索引列?

我知道在这个例子中它是我定义的三个,但我希望自动计算它。

谢谢

【问题讨论】:

    标签: pandas dataframe


    【解决方案1】:

    如果需要计数级别,请使用MultiIndex.nlevels

    print(df_pivot.index.nlevels)
    3
    print(df_pivot.columns.nlevels)
    1
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-10-17
      • 2016-09-15
      • 2020-08-30
      • 2020-05-02
      • 2017-05-24
      • 1970-01-01
      • 1970-01-01
      • 2021-11-03
      相关资源
      最近更新 更多