4 回答

TA貢獻1824條經驗 獲得超8個贊
像你這樣的數據框:
df = pd.DataFrame([['PENúLTIMO','Ativo Total','702571987.0'],
['úLTIMO','Ativo Total','802819794.0'],
['PENúLTIMO','Caixa e Equivalentes de Caixa','31037881.0'],
['úLTIMO','Caixa e Equivalentes de Caixa','25219700.0']], columns=['ORDEM_EXER','DS_CONTA','VL_CONTA'])
代表這個:
ORDEM_EXER--DS_CONTA-----------------------VL_CONTA
0 PENúLTIMO---Ativo Total--------------------702571987.0
1 úLTIMO------Ativo Total--------------------802819794.0
2 PENúLTIMO---Caixa e Equivalentes de Caixa--31037881.0
3 úLTIMO------Caixa e Equivalentes de Caixa--25219700.0
嘗試使用樞軸:
df.pivot(index='DS_CONTA',columns='ORDEM_EXER',values='VL_CONTA')
代表這個:
ORDEM_EXER-----PENúLTIMO---------------------úLTIMO
DS_CONTA
Ativo Total--------------------702571987.0---802819794.0
Caixa e Equivalentes de Caixa--31037881.0----25219700.0

TA貢獻1820條經驗 獲得超10個贊
您可以嘗試使用pivot_table來實現 pandas 數據框的數據透視值。如果數據框是:
df
>>>
ORDEM_EXER? DS_CONTA? ? VL_CONTA
0? ?PENúLTIMO? ?Ativo Total 702571987
1? ?úLTIMO? Ativo Total 802819794
2? ?PENúLTIMO? ?Caixa e Equivalentes de Caixa? ?31037881
3? ?úLTIMO? Caixa e Equivalentes de Caixa? ?25219700
然后
table = pd.pivot_table(df, values='VL_CONTA', index=['DS_CONTA'], columns=['ORDEM_EXER'], aggfunc=np.sum)

TA貢獻2051條經驗 獲得超10個贊
首先,我們使用您的示例數據創建一個數據框:
from io import StringIO
import pandas as pd
data = '''ORDEM_EXER-----DS_CONTA-------------------------VL_CONTA
PENúLTIMO-----Ativo Total-----------------------702571987.0
úLTIMO--------Ativo Total-----------------------802819794.0
PENúLTIMO-----Caixa e Equivalentes de Caixa-----31037881.0
úLTIMO--------Caixa e Equivalentes de Caixa-----25219700.0
'''
df = pd.read_csv(StringIO(data), sep='-+', engine='python')
print(df)
ORDEM_EXER DS_CONTA VL_CONTA
0 PENúLTIMO Ativo Total 702571987.0
1 úLTIMO Ativo Total 802819794.0
2 PENúLTIMO Caixa e Equivalentes de Caixa 31037881.0
3 úLTIMO Caixa e Equivalentes de Caixa 25219700.0
現在我們使用數據透視表重新格式化和總結:
print(df.pivot_table(index='DS_CONTA',
columns='ORDEM_EXER',
values='VL_CONTA',
aggfunc=sum,
fill_value=0))
ORDEM_EXER PENúLTIMO úLTIMO
DS_CONTA
Ativo Total 702571987 802819794
Caixa e Equivalentes de Caixa 31037881 25219700
添加回答
舉報