循环通过python数据透视表

时间:2016-06-11 10:38:38

标签: python pandas

我有一个我创建的数据透视表(pivotTable)使用:

pivotTable= dayData.pivot_table(index=['sector'], aggfunc='count')

生成了以下数据透视表:

                   sector id  
broad_sector                            
Communications         2   2 
Utilities              3   3
Media                  3   3

有人可以告诉我是否有办法循环使用数据透视表,将索引值和行业总数分配给相应的变量sectorNamesectorCount

我试过了:

i=0
while i <= lenPivotTable:
    sectorName = sectorPivot.index.get_level_values(0)
    sectorNumber = sectorPivot.index.get_level_values(1)
    i=i+1 

返回第一个循环迭代:

sectorName = 'Communications'
sectorCount = 2

用于第二次循环迭代:

sectorName = 'Utilities'
sectorCount = 3

用于第三次循环迭代:

sectorName = 'Media'
sectorCount = 3

但是无法让它发挥作用。任何帮助表示赞赏

2 个答案:

答案 0 :(得分:1)

此代码段会为您提供所询问的值。

for sector_name, sector_count, _ in pivotTable.to_records():
    print(sector_name, sector_count)

答案 1 :(得分:1)

好吧,我不明白为什么你需要这个(因为循环通过DF 非常慢),但你可以这样做:

In [403]: for idx, row in pivotTable.iterrows():
   .....:         sectorName = idx
   .....:         sectorCount = row['sector']
   .....:         print(sectorName, sectorCount)
   .....:


Communications 2
Utilities 3
Media 3