簡體   English   中英

如何在DataFrame中將制作的數據透視表轉換為Pandas / Numpy?

[英]How do I convert a PivotTable that was made into Pandas / Numpy in a DataFrame?

在python3和pandas中,我具有以下數據框:

despesas_atuais_final.info()
<class 'pandas.core.frame.DataFrame'>
Int64Index: 82318 entries, 0 to 82317
Data columns (total 18 columns):
Ano                     82318 non-null object
CNPJ                    82318 non-null object
Deputado                82318 non-null object
Fornecedor              82318 non-null object
Matricula               82318 non-null int64
Mes                     82318 non-null int64
Tipo                    82318 non-null object
Valor                   82318 non-null float64
cnpj_raiz_fornecedor    82318 non-null object
codigo_unico            82318 non-null object
nome_deputado           82318 non-null object
uf                      82318 non-null object
nome_completo           82318 non-null object
sequencial              82318 non-null object
cpf                     82318 non-null object
nome_urna               82318 non-null object
partido_eleicao         82318 non-null object
situacao                82318 non-null object
dtypes: float64(1), int64(2), object(15)
memory usage: 11.9+ MB

“ Valor”列是費用值。 “ nome_deputado”列中列出了進行支出的人員的姓名。 “ Ano”是支出的年份。 “ Mes”是支出月份,以數字表示。

我制作了一個數據透視表,以了解每個人每年的每月支出:

pd.pivot_table(despesas_atuais_final,index=["nome_deputado","Ano", "Mes"], values=["Valor"], aggfunc=np.sum)

                                Valor
nome_deputado   Ano     Mes     
ABELARDO CAMARINHA  2015    3   3,345.40
4   4,843.97
5   15,738.48
6   18,245.08
7   23,953.70
8   27,587.43
9   27,058.59
10  24,117.43
11  20,984.07
2016    2   12,008.00
3   28,415.86
4   24,187.94
5   27,776.08
6   26,755.00
7   26,478.03
8   29,930.60

...

請問有一種方法可以將此數據透視表轉換為數據框嗎? 像這樣:

nome_deputado       Ano     Mes     Valor
ABELARDO CAMARINHA  2015    3   3,345.40
ABELARDO CAMARINHA  2015    4   4,843.97
ABELARDO CAMARINHA  2015    5   15,738.48
...

您可以將對象包裝在DataFrame函數中

pd.DataFrame(pd.pivot_table(despesas_atuais_final,index=["nome_deputado","Ano", "Mes"], values=["Valor"], aggfunc=np.sum))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM