Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Get Fabric Certified for FREE during Fabric Data Days. Don't miss your chance! Learn more

Reply
Syndicate_Admin
Administrator
Administrator

Transformar ejecutar tipos de datos de paso de script de Python

Hola usuarios de Power BI,

Cuando se usa una transformación de script de Ejecución de Python en Power BI con pandas, todas las columnas enteras/flotantes tienen el tipo de datos Texto después de la transformación y deben cambiarse de nuevo a número. Como el conjunto de datos es grande, espero que esta transformación a texto y de vuelta al número consuma mucha potencia de cálculo innecesaria.

Además, al convertir el texto a número decimal, el separador decimal se interpreta incorrectamente, lo que hace que "1.0" se convierta en "10", en lugar de "1,0".

La solución óptima sería permitir que las columnas numéricas agregadas en un paso Ejecutar scripts de Python se interpreten como números decimales / enteros en lugar de texto.

Paso ejecutar script de Python

# 'dataset' contiene los datos de entrada para este script

dataset['ones_int'] = 1

dataset['ones_int_dtype'] =dataset['ones_int'].dtype

dataset['ones_float'] = 1,0

dataset['ones_float_dtype'] = dataset['ones_float'].dtype

Salida del paso Ejecutar script de Python (tenga en cuenta que "ones_int" y "ones_float" son del tipo ABC, por lo tanto, texto)

python_script_data_types.png

Salida de los tipos de columna cambiantes (tenga en cuenta que "ones_float" se convierten a 10 instancias de 1,0)

python_script_data_types_converted.png

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Hola Comunidad de Power BI,

Después de unas semanas encontré la solución y es vergonzosamente simple, solo agregue "en-US" al paso de tipo cambiado. Por lo tanto, el paso de tipo cambiado se convierte en:

python_script_data_types_converted_solution.png

View solution in original post

4 REPLIES 4
Anonymous
Not applicable

Hello Power BI Community,

 

ENGLISH

 

After a few weeks I found the solution and it is embarrassingly simple, just add "en-US" to the changed type step. Thus the changed type step becomes:

 

SPANISH

 

Después de algunas semanas, encontré la solución y es vergonzosamente simple, solo agregue "en-US" al paso de tipo modificado. Por lo tanto, el paso de tipo cambiado se convierte en:

 

python_script_data_types_converted_solution.png

 

 

Syndicate_Admin
Administrator
Administrator

Hola Comunidad de Power BI,

Después de unas semanas encontré la solución y es vergonzosamente simple, solo agregue "en-US" al paso de tipo cambiado. Por lo tanto, el paso de tipo cambiado se convierte en:

python_script_data_types_converted_solution.png

Syndicate_Admin
Administrator
Administrator

@Anonymous ,

¿Ha definido el tipo de datos en el script?

import pandas as pd
data = [['A',1],['B',2],['C',3]]
df = pd.DataFrame (data, columns=['type','value'], dtype=float)
print(df)

Saludos
Liang
Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

Hi @V-lianl-msft,

El problema se produce al volver a leer los datos en Power BI, por lo tanto, después del paso de script de Python. En Python el tipo de datos es por ejemplo float64,sin embargo Power BI lo interpreta como texto.

Por lo tanto, los tipos de datos de Pandas DataFrame no se interpretan correctamente en Power BI después de procesar los datos en Python, int64 y float64 se interpretan como texto.

Atentamente

Marcar

Helpful resources

Announcements
Fabric Data Days Carousel

Fabric Data Days

Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!

October Power BI Update Carousel

Power BI Monthly Update - October 2025

Check out the October 2025 Power BI update to learn about new features.

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.