Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!Get Fabric Certified for FREE during Fabric Data Days. Don't miss your chance! Request now
Cuando ejecuto un script normalmente en Python, se ejecuta sin problemas, sin embargo, cuando ejecuto el mismo script en Power Bi, no funciona como se esperaba.
Hola, tengo el siguiente script de Python que se ejecuta perfectamente en VS Code:
# 'dataset' holds the input data for this script
import pandas as pd
import numpy as np
dataset = pd.read_csv('PBI_Test.csv')
used = dataset[dataset.PPSNU_1D_Qty > 0].sort_values(by='luci_price',ascending=False)[['service_order_id','item_product_id','Part_Type']].groupby(by='service_order_id')[['item_product_id','Part_Type']].agg(' | '.join).reset_index()
used.columns = ['service_order_id','used_item_id','used_part_type']
req = dataset[dataset.PPSNR_1D_Qty > 0].sort_values(by='luci_price',ascending=False)[['service_order_id','item_product_id','Part_Type']].groupby(by='service_order_id')[['item_product_id','Part_Type']].agg(' | '.join).reset_index()
req.columns = ['service_order_id','req_item_id','req_part_type']
final = pd.merge(left=used,right=req,on='service_order_id')
final
sin embargo, cuando uso el mismo script exacto en Power Bi para manipular el conjunto de datos, me produce el siguiente error:
ValueError: Length mismatch: Expected axis has 2 elements, new values have 3 elements
Sé que el error ocurre en esta línea porque "req" no tiene una columna Part_Type pero no entiendo por qué no lo hace, debería.
req.columns = ['service_order_id','req_item_id','req_part_type']
Cualquier ayuda sería muy apreciada.
Debido a que el marco de datos original tiene solo 2 columnas, pero le está cambiando el nombre con 3 nuevos nombres de columna. La falta de coincidencia da como resultado el error.
Dado que el error proviene del hecho de que el número real de columnas en el marco de datos no coincide con los nombres de columna que se asignarán, debe verificar dos veces y asegurarse de que sean iguales. es decir, hacer algunas impresiones como len(df.columns) y only(newColumnNames) y ver si son iguales. Si no lo son, ajuste los nuevos nombres de columna para que cada columna del marco de datos obtenga exactamente un nombre.
También he encontrado una publicación similar, por favor refiérase a ella para ver si le ayuda.
Saludos
Equipo de apoyo a la comunidad _ Polly
Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.
El verdadero problema es que debería tener tres columnas que estoy agrupando por 1, y realizando una unión en dos columnas:
req = dataset[dataset.PPSNR_1D_Qty > 0].sort_values(by='luci_price',ascending=False)[['service_order_id','item_product_id','Part_Type']].groupby(by='service_order_id')[['item_product_id','Part_Type']].agg(' | '.join).reset_index()
Es exactamente el mismo proceso para el marco de datos "usado", que no obtiene ese error, pero el "req" sí. No estoy seguro de cómo o por qué el marco de datos "req" termina con solo dos columnas cuando en realidad debería tener 3.
¿Te importaría compartir el CSV de prueba?
Además, ¿por qué filtrar el archivo dos veces?
used = dataset[dataset.PPSNU_1D_Qty > 0].sort_values(by='luci_price',ascending=False)[['service_order_id','item_product_id','Part_Type']].groupby(by='service_order_id')[['item_product_id','Part_Type']].agg(' | '.join).reset_index()
req = used
used.columns = ['service_order_id','used_item_id','used_part_type']
req.columns = ['service_order_id','req_item_id','req_part_type']
Se filtran en diferentes columnas, por lo que una es para piezas utilizadas y la otra para piezas solicitadas.
No puedo adjuntar archivos CSV, Excel o txt a esta respuesta, ¿alguna idea sobre cómo puedo compartir mi archivo de prueba?
¿Tiene la opción de publicar el archivo en uno de los servicios de uso compartido de archivos de Internet?
De hecho, ejecuté el mismo código Python exacto en una importación del archivo csv y funcionó como se esperaba. Estoy perdido.
Check out the November 2025 Power BI update to learn about new features.
Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!