python pandas - 如何将ds转换为dataframe
python pandas - 如何将ds转换为dataframe
这个问题已经有了答案:
通过下面的代码,我得到以下输出。但我需要从中创建一个图表 (ggplot)。 我的理解是我需要将DS转换为DF。
有人能帮助我如何将当前的数据集A转换为如下所示的dataframe B吗?
A) 当前
ds_perg1_2_merged = df_perg1_2.groupby(['DescricaoProblema'])['strRazaoSocial'].apply(lambda x: x.value_counts().head(3)) DescricaoProblema Cobrança indevida. CAIXA ECONOMICA FEDERAL 66 CAIXA SEGUROS S.A 45 BANCO BMG S.A. 38 Cobrança indevida/abusiva CLARO S/A 50 TIM CELULAR S/A 47 COMPANHIA PIRATININGA DE FORÇA E LUZ 34 Produto com vício VIA VAREJO S/A 46 SAMSUNG ELETRONICA DA AMAZONIA LTDA 27 WHIRLPOOL S/A 23 ds_perg1_2_merged.info() <class 'pandas.core.series.Series'> MultiIndex: 9 entries, ('Cobrança indevida.', 'CAIXA ECONOMICA FEDERAL') to ('Produto com vício', 'ELECTROLUX DO BRASIL S/A') Series name: strRazaoSocial Non-Null Count Dtype -------------- ----- 9 non-null int64 dtypes: int64(1) memory usage: 568.0+ bytes
B) 需要的是:
DescricaoProblema strRazaoSocial amount Cobrança indevida. CAIXA ECONOMICA FEDERAL 66 CAIXA SEGUROS S.A 45 BANCO BMG S.A. 38 Cobrança indevida/abusiva CLARO S/A 50 TIM CELULAR S/A 47 COMPANHIA PIRATININGA DE FORÇA E LUZ 34 Produto com vício VIA VAREJO S/A 46 SAMSUNG ELETRONICA DA AMAZONIA LTDA 27 WHIRLPOOL S/A 23
编辑:好的,所以我通过 ds_perg1_2_merged.to_frame()
解决了其中一半的问题。 ..但对于值的第三列,我仍然需要一个单独的列名。不确定我是否走在正确的道路上。
admin 更改状态以发布 2023年5月24日
当使用更多的列分组DataFrame时,会得到一个MultiIndex。
您可以使用reset_index
方法(请参见文档)将MultiIndex转换为DataFrame的列。
对于您的示例,它会给出如下内容:
> ds_perg1_2_merged.reset_index() DescricaoProblema strRazaoSocial 0 Cobrança indevida. CAIXA ECONOMICA FEDERAL 66 1 Cobrança indevida. CAIXA SEGUROS S.A 45 2 Cobrança indevida. BANCO BMG S.A. 38 3 Cobrança indevida/abusiva CLARO S/A 50 4 Cobrança indevida/abusiva TIM CELULAR S/A 47 5 Cobrança indevida/abusiva COMPANHIA PIRATININGA DE FORÇA E LUZ 34 6 Produto com vício VIA VAREJO S/A 46 7 Produto com vício SAMSUNG ELETRONICA DA AMAZONIA LTDA 27 8 Produto com vício WHIRLPOOL S/A 23