You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerBI中Python条形图与VS Code结果不一致问题求助

PowerBI中Python图表与VS Code结果不一致的解决方法

核心问题出在PowerBI自动生成的代码上,尤其是dataset.drop_duplicates()这行——它会直接删除所有重复行,导致统计用的原始数据丢失,和VS Code中基于完整SQL数据的统计结果自然出现差异。

问题分析

VS Code中直接使用SQL Server的完整数据进行统计,而PowerBI自动生成的两行代码:

dataset = pandas.DataFrame(FatherJobStatusCode, MotherJobStatusCode)
dataset = dataset.drop_duplicates()

第二行的去重操作是关键错误:原始数据中重复的FatherJobStatusCode/MotherJobStatusCode是正常样本(比如多个受访者的父母职业状态相同),去重后会丢失大量有效数据,最终的value_counts()统计结果必然和真实情况不符。

解决方案

  1. 移除去重代码:删除dataset = dataset.drop_duplicates()这一行,保留原始数据的完整性。
  2. 验证数据量:可以在代码开头添加一行打印语句,对比PowerBI和VS Code中的数据行数,确认数据一致:
    print(f"当前数据行数:{len(dataset)}")
    
  3. 修改后的完整代码:
    import matplotlib.pyplot as plt
    import pandas as pd
    
    nuevos_valores = {0: 'No disponible', 1: 'Empleado', 2: 'Trabaja Independiente', 3: 'Cesante', 5: 'Trabaja fuera de la ciudad', 9: 'Nómade'}
    
    # 保留PowerBI自动生成的DataFrame构造,移除去重
    dataset = pandas.DataFrame(FatherJobStatusCode, MotherJobStatusCode)
    
    dataset.loc[dataset['FatherJobStatusCode'].isin(nuevos_valores.keys()), 'FatherJobStatusCode'] = dataset['FatherJobStatusCode'].map(nuevos_valores)
    dataset.loc[dataset['MotherJobStatusCode'].isin(nuevos_valores.keys()), 'MotherJobStatusCode'] = dataset['MotherJobStatusCode'].map(nuevos_valores)
    
    padres_counts = dataset['FatherJobStatusCode'].value_counts().sort_index()
    madres_counts = dataset['MotherJobStatusCode'].value_counts().sort_index()
    
    counts_df = pd.DataFrame({'Padres': padres_counts, 'Madres': madres_counts})
    
    ax = counts_df.plot(kind='bar', rot=0, color=['#FA05C7', '#0F26FA'], edgecolor='black')
    
    ax.set_title('Conteo de Estatus laboral de los padres')
    ax.set_xlabel('Categoría')
    ax.set_ylabel('Conteo')
    
    plt.xticks(rotation=45)
    
    for container in ax.containers:
        ax.bar_label(container, label_type='edge', fontsize=8)
    
    ax.set_facecolor('None')
    plt.show()
    

验证步骤

运行修改后的代码后,查看padres_counts和madres_counts的输出数值,和VS Code中的统计结果对比,确认数据一致后,图表结果就会匹配。

内容的提问来源于stack exchange,提问作者Constanza Opazo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 18:31:02