Delen via


Gegevens lezen en schrijven met Pandas in Microsoft Fabric

Microsoft Fabric-notebooks ondersteunen naadloze interactie met Lakehouse-gegevens met behulp van Pandas, de populairste Python-bibliotheek voor gegevensverkenning en -verwerking. In een notebook kunt u snel gegevens lezen van en terugschrijven naar uw Lakehouse-resources in verschillende bestandsindelingen. Deze handleiding bevat codevoorbeelden om aan de slag te gaan in uw eigen notebook.

Vereisten

Lakehouse-gegevens laden in een notebook

Notitie

U hebt enkele gegevens in uw Lakehouse nodig om de stappen in deze sectie te volgen. Als u geen gegevens hebt, volgt u de stappen in De gegevensset Downloaden en uploadt u naar Lakehouse om het churn.csv-bestand toe te voegen aan uw Lakehouse.

Zodra u een Lakehouse aan uw Microsoft Fabric-notebook hebt gekoppeld, kunt u opgeslagen gegevens verkennen zonder de pagina te verlaten en deze met slechts een paar stappen in uw notitieblok te lezen. Als u een Lakehouse-bestand selecteert, worden opties weergegeven voor het laden van gegevens in een Spark- of Pandas-dataframe. U kunt ook het volledige ABFS-pad van het bestand of een vriendelijk relatief pad kopiëren.

Schermopname van de opties voor het laden van gegevens in een Pandas DataFrame.

Als u een van de prompts 'Gegevens laden' selecteert, wordt een codecel gegenereerd waarmee het bestand in een DataFrame in uw notebook wordt geladen.

Schermopname van een codecel die is toegevoegd aan het notebook.

Een Spark DataFrame converteren naar een Pandas DataFrame

Ter referentie laat deze opdracht zien hoe u een Spark DataFrame converteert naar een Pandas DataFrame:

# Replace "spark_df" with the name of your own Spark DataFrame
pandas_df = spark_df.toPandas() 

Verschillende bestandsindelingen lezen en schrijven

Notitie

Als u de versie van een specifiek pakket wijzigt, kunnen andere pakketten die hiervan afhankelijk zijn mogelijk worden onderbroken. Downgrading azure-storage-blob kan bijvoorbeeld problemen veroorzaken met Pandas en verschillende andere bibliotheken die afhankelijk Pandaszijn van , inclusief mssparkutils, fsspec_wrapperen notebookutils. U kunt hier de lijst met vooraf geïnstalleerde pakketten en de bijbehorende versies voor elke runtime bekijken.

Deze codevoorbeelden laten Pandas-bewerkingen zien voor het lezen en schrijven van verschillende bestandsindelingen. Deze voorbeelden zijn niet bedoeld om sequentieel uit te voeren zoals in een zelfstudie, maar om indien nodig naar uw eigen notebook te worden gekopieerd en geplakt.

Notitie

U moet de bestandspaden in deze codevoorbeelden vervangen. Pandas ondersteunt zowel relatieve paden, zoals hier wordt weergegeven, als volledige ABFS-paden. U kunt paden van beide typen ophalen en kopiëren vanuit de interface met behulp van de vorige stappen.

Gegevens uit een CSV-bestand lezen

import pandas as pd

# Read a CSV file from your Lakehouse into a Pandas DataFrame
# Replace LAKEHOUSE_PATH and FILENAME with your own values
df = pd.read_csv("/LAKEHOUSE_PATH/Files/FILENAME.csv")
display(df)

Gegevens schrijven als een CSV-bestand

import pandas as pd 

# Write a Pandas DataFrame into a CSV file in your Lakehouse
# Replace LAKEHOUSE_PATH and FILENAME with your own values
df.to_csv("/LAKEHOUSE_PATH/Files/FILENAME.csv") 

Gegevens lezen uit een Parquet-bestand

import pandas as pd 
 
# Read a Parquet file from your Lakehouse into a Pandas DataFrame
# Replace LAKEHOUSE_PATH and FILENAME with your own values
df = pd.read_parquet("/LAKEHOUSE_PATH/Files/FILENAME.parquet") 
display(df)

Gegevens schrijven als Parquet-bestand

import pandas as pd 
 
# Write a Pandas DataFrame into a Parquet file in your Lakehouse
# Replace LAKEHOUSE_PATH and FILENAME with your own values
df.to_parquet("/LAKEHOUSE_PATH/Files/FILENAME.parquet") 

Gegevens lezen uit een Excel-bestand

import pandas as pd 
 
# Read an Excel file from your Lakehouse into a Pandas DataFrame
# Replace LAKEHOUSE_PATH and FILENAME with your own values
# If the file is in a subfolder, add the correct file path after Files/
# For the default lakehouse attached to the notebook, use: df = pd.read_excel("/lakehouse/default/Files/FILENAME.xlsx") 
df = pd.read_excel("/LAKEHOUSE_PATH/Files/FILENAME.xlsx") 
display(df) 

Gegevens schrijven als een Excel-bestand

import pandas as pd 

# Write a Pandas DataFrame into an Excel file in your Lakehouse
# Replace LAKEHOUSE_PATH and FILENAME with your own values
df.to_excel("/LAKEHOUSE_PATH/Files/FILENAME.xlsx") 

Gegevens lezen uit een JSON-bestand

import pandas as pd 
 
# Read a JSON file from your Lakehouse into a Pandas DataFrame
# Replace LAKEHOUSE_PATH and FILENAME with your own values
df = pd.read_json("/LAKEHOUSE_PATH/Files/FILENAME.json") 
display(df) 

Gegevens schrijven als een JSON-bestand

import pandas as pd 
 
# Write a Pandas DataFrame into a JSON file in your Lakehouse
# Replace LAKEHOUSE_PATH and FILENAME with your own values
df.to_json("/LAKEHOUSE_PATH/Files/FILENAME.json") 

Werken met Delta-tabellen

Delta-tabellen zijn de standaardtabelindeling in Microsoft Fabric en worden opgeslagen in de sectie Tabellen van uw Lakehouse. In tegenstelling tot bestanden is voor Delta-tabellen een proces in twee stappen vereist om met pandas te werken: lees eerst de tabel in een Spark DataFrame en converteer deze vervolgens naar een Pandas DataFrame.

Een Delta-testtabel maken

Als u de stappen in deze sectie wilt volgen, hebt u een Delta-tabel in uw Lakehouse nodig. Volg de stappen in De gegevensset Downloaden en uploaden naar Lakehouse om het churn.csv-bestand toe te voegen aan uw Lakehouse en maak vervolgens een testtabel op basis van het churn.csv-bestand door deze code uit te voeren in uw notebook:

import pandas as pd
# Create a test Delta table from the churn.csv file

df = pd.read_csv("/lakehouse/default/Files/churn/raw/churn.csv")
spark_df = spark.createDataFrame(df)
spark_df.write.format("delta").mode("overwrite").saveAsTable("churn_table")

Hiermee maakt u een Delta-tabel met de naam churn_table die u kunt gebruiken voor het testen van de onderstaande voorbeelden.

Gegevens uit een Delta-tabel lezen

# Read a Delta table from your Lakehouse into a pandas DataFrame
# This example uses the churn_table created above
spark_df = spark.read.format("delta").load("Tables/churn_table")
pandas_df = spark_df.toPandas()
display(pandas_df)

U kunt deltatabellen ook lezen met behulp van spark SQL-syntaxis:

# Alternative method using Spark SQL
spark_df = spark.sql("SELECT * FROM churn_table")
pandas_df = spark_df.toPandas()
display(pandas_df)

Pandas DataFrame schrijven naar een Delta-tabel

# Convert pandas DataFrame to Spark DataFrame, then save as Delta table
# Replace TABLE_NAME with your desired table name
spark_df = spark.createDataFrame(pandas_df)
spark_df.write.format("delta").mode("overwrite").saveAsTable("TABLE_NAME")

U kunt ook opslaan in een specifiek pad in de sectie Tabellen:

# Save to a specific path in the Tables section
spark_df = spark.createDataFrame(pandas_df)
spark_df.write.format("delta").mode("overwrite").save("Tables/TABLE_NAME")

Schrijfmodi voor Delta-tabellen

Wanneer u naar Delta-tabellen schrijft, kunt u verschillende modi opgeven:

# Overwrite the entire table
spark_df.write.format("delta").mode("overwrite").saveAsTable("TABLE_NAME")

# Append new data to existing table
spark_df.write.format("delta").mode("append").saveAsTable("TABLE_NAME")

Notitie

Delta-tabellen die zijn gemaakt in de sectie Tabellen van uw Lakehouse, kunnen worden gedetecteerd zonder extra registratie- of configuratiestappen en kunnen worden opgevraagd met Behulp van Spark SQL. Ze worden ook weergegeven in de Interface van Lakehouse Explorer (mogelijk moet u de Lakehouse-verkenner vernieuwen om recente wijzigingen te zien).

  • Data Wrangler gebruiken om uw gegevens op te schonen en voor te bereiden
  • ML-modellen trainen