Atrisināts: pandas pievienojas neunikālas

Pandas ir plaši izmantota Python bibliotēka datu apstrādes un analīzes jomā. Tas nodrošina datu struktūras un funkcijas, kas nepieciešamas, lai netraucēti strādātu ar strukturētiem datiem. Viena no daudzajām tā piedāvātajām funkcijām ir iespēja savienot tabulas ar neunikālām atslēgām, kas var būt izplatīta prasība praktiskos lietojumos. Šajā rakstā mēs iedziļināsimies šīs problēmas risinājumā, izpētīsim soli pa solim koda skaidrojumu, ko izmanto, lai savienotu pandas DataFrame objektus ar neunikālām atslēgām, un apspriedīsim šajā procesā iesaistītās bibliotēkas un funkcijas.

Ievads

Tabulu savienošana ir fundamentāla darbība, ko veic datu apstrādes un analīzes uzdevumos. Dažos gadījumos mums var būt nepieciešams apvienot tabulas ar neunikālu atslēgu, kas var radīt problēmas. Tomēr darbs ar jaudīgo Python bibliotēku, pandas, ļauj eleganti atrisināt šo problēmu, izmantojot tās elastīgo funkcionalitāti.

Pievienošanās Pandas DataFrames ar neunikālām atslēgām

Lai pievienotos DataFrames pandās, mēs varam izmantot funkciju "merge()", kas atbalsta pievienošanos neunikālām atslēgām. Tomēr ir svarīgi saprast, ka neunikālo atslēgu savienošanas rezultāts var atšķirties no gaidītā, jo tas var novest pie Dekarta reizinājuma, kas, iespējams, var ievērojami palielināt rindu skaitu iegūtajā DataFrame.

Šeit ir sniegts detalizēts ceļvedis, kā izmantot funkciju "merge()", lai savienotu DataFrames ar neunikālām atslēgām:

import pandas as pd

# Create sample DataFrames
df1 = pd.DataFrame({"key": ["A", "B", "A", "C"], "value": [1, 2, 3, 4]})
df2 = pd.DataFrame({"key": ["A", "B", "A", "D"], "value2": [5, 6, 7, 8]})

# Perform the merge operation
result = df1.merge(df2, on="key", how="inner")

Iepriekš minētajā piemērā mēs vispirms importējam pandas bibliotēku un izveidojam divus DataFrame paraugus (df1 un df2). Pēc tam mēs izmantojam funkciju “merge()”, lai pievienotu DataFrames kolonnā “key”, kurā ir neunikālas vērtības (A un B atkārtojas). Parametrs “how” ir iestatīts uz “inner”, jo mēs vēlamies paturēt tikai rindas, kurām ir atbilstošas ​​atslēgas abos datu rāmjos.

Pandas sapludināšanas funkcijas izpratne

Funkcija "merge()" pandās ir ļoti spēcīgs un elastīgs rīks tabulu savienošanas darbību veikšanai. Papildus datu rāmju pievienošanai ar neunikālām atslēgām, tas atbalsta dažādus pielāgošanas līmeņus, ļaujot jums pilnībā kontrolēt iegūto DataFrame.

Funkcijai "merge()" ir vairāki svarīgi parametri, piemēram:

  • kreisais un tiesības: šie ir datu rāmji, kas ir jāapvieno.
  • on: kolonna(-as), kas jāizmanto, lai savienotu datu rāmjus. Tas var būt vienas kolonnas nosaukums vai kolonnu nosaukumu saraksts, kad tiek apvienotas vairākas kolonnas.
  • cik: tas nosaka veicamā savienojuma veidu. Iespējas ietver “kreisais”, “pa labi”, “ārējais” un “iekšējais”. Noklusējums ir “iekšējais”.
  • piedēkļi: šis ir virknes sufiksu kopums, kas attiecas uz kolonnām, kas pārklājas. Noklusējuma sufikss ir _x kreisajam DataFrame un _y labajam DataFrame.

Šos parametrus var pielāgot atbilstoši savām vajadzībām, lai veiktu dažāda veida savienošanas darbības un pielāgotu izvadi.

Līdzīgas funkcijas pandās

Papildus funkcijai "merge()", pandas piedāvā arī citas funkcijas datu rāmju apvienošanai dažādos veidos, piemēram:

  • concat (): šo funkciju izmanto datu rāmju savienošanai pa noteiktu asi. Savienojumu var kontrolēt, norādot dažādus parametrus, piemēram, asi, savienojumu un atslēgas.
  • pievienoties (): šī ir ērta metode, kas pieejama DataFrame objektos, lai veiktu savienošanas darbības. Tas būtībā ir aplauzums ap merge() funkciju, un kreisais DataFrame tiek pieņemts kā izsaucējs DataFrame.

Noslēgumā jāsaka, ka, izmantojot pandas funkciju "merge()", varat viegli pievienoties DataFrames ar neunikālām atslēgām. Bagātīgais parametru kopums, kas pieejams funkcijā `merge()`, piedāvā pilnu kontroli pār pievienošanās procesu, apmierinot dažādas datu apstrādes prasības. Pandas bibliotēka joprojām ir neaizstājams rīks datu analītiķiem, un tā piedāvā dažādas citas funkcijas, lai efektīvi apvienotu un manipulētu ar DataFrames.

Related posts:

Leave a Comment