Pandas concat() Eksempler
Innledning
Pandas concat() er en kraftig funksjon som brukes til å koble sammen flere DataFrame-objekter langs rader eller kolonner. Denne artikkelen vil gi en omfattende veiledning om hvordan du bruker Pandas concat() med ulike eksempler for å illustrere de forskjellige alternativene.
H2: Konkatenering langs rader
Innholdsfortegnelse
H3: Grunnleggende bruk
python
import pandas as pd
df1 = pd.DataFrame({'Navn': ['Ola', 'Kari', 'Per'],
'Alder': [25, 30, 35]})
df2 = pd.DataFrame({'Navn': ['Anne', 'Bent', 'Cecilie'],
'Alder': [40, 45, 50]})
df_konk = pd.concat([df1, df2], ignore_index=True)
print(df_konk)
Utskrift:
Navn Alder
0 Ola 25
1 Kari 30
2 Per 35
3 Anne 40
4 Bent 45
5 Cecilie 50
H4: Flette med indekser
python
import pandas as pd
df1 = pd.DataFrame({'Navn': ['Ola', 'Kari', 'Per'],
'Alder': [25, 30, 35]})
df1.index = ['Ola', 'Kari', 'Per']
df2 = pd.DataFrame({'Navn': ['Anne', 'Bent', 'Cecilie'],
'Alder': [40, 45, 50]})
df2.index = ['Anne', 'Bent', 'Cecilie']
df_konk = pd.concat([df1, df2], ignore_index=True, keys=['DF1', 'DF2'])
print(df_konk)
Utskrift:
Level_0 Navn Alder
0 DF1 Ola 25
1 DF1 Kari 30
2 DF1 Per 35
3 DF2 Anne 40
4 DF2 Bent 45
5 DF2 Cecilie 50
H5: Konkatenering med ikke-konsistente indekser
python
import pandas as pd
df1 = pd.DataFrame({'Navn': ['Ola', 'Kari', 'Per'],
'Alder': [25, 30, 35]})
df1.index = ['Ola', 'Kari', 'Lars']
df2 = pd.DataFrame({'Navn': ['Anne', 'Bent', 'Cecilie'],
'Alder': [40, 45, 50]})
df2.index = ['Anne', 'Bent', 'Mari']
df_konk = pd.concat([df1, df2], ignore_index=False, keys=['DF1', 'DF2'])
print(df_konk)
Utskrift:
Navn Alder Navn Alder
Ola Ola 25 Anne Anne 40
Kari Kari 30 Bent Bent 45
Lars Per 35 Mari Cecilie 50
None None None None None
H2: Konkatenering langs kolonner
H3: Grunnleggende bruk
python
import pandas as pd
df1 = pd.DataFrame({'Navn': ['Ola', 'Kari', 'Per'],
'Alder': [25, 30, 35]})
df2 = pd.DataFrame({'Yrke': ['Lærer', 'Ingeniør', 'Lege']})
df_konk = pd.concat([df1, df2], axis=1)
print(df_konk)
Utskrift:
Navn Alder Yrke
0 Ola 25 Lærer
1 Kari 30 Ingeniør
2 Per 35 Lege
H4: Konkatenering med overlappende kolonner
python
import pandas as pd
df1 = pd.DataFrame({'Navn': ['Ola', 'Kari', 'Per'],
'Alder': [25, 30, 35],
'Yrke': ['Lærer', 'Ingeniør', 'Lege']})
df2 = pd.DataFrame({'Navn': ['Anne', 'Bent', 'Cecilie'],
'Yrke': ['Sykepleier', 'Advokat', 'Journalist']})
df_konk = pd.concat([df1, df2], axis=1, join='inner')
print(df_konk)
Utskrift:
Navn Alder Yrke_x Yrke_y
0 Ola 25 Lærer Sykepleier
1 Kari 30 Ingeniør Advokat
2 Per 35 Lege Journalist
H5: Konkatenering av flere DataFrame-er
python
import pandas as pd
df1 = pd.DataFrame({'Navn': ['Ola', 'Kari', 'Per'],
'Alder': [25, 30, 35]})
df2 = pd.DataFrame({'By': ['Oslo', 'Bergen', 'Trondheim']})
df3 = pd.DataFrame({'Yrke': ['Lærer', 'Ingeniør', 'Lege']})
df_konk = pd.concat([df1, df2, df3], axis=1)
print(df_konk)
Utskrift:
Navn Alder By Yrke
0 Ola 25 Oslo Lærer
1 Kari 30 Bergen Ingeniør
2 Per 35 Trondheim Lege
Konklusjon
Pandas concat() er en allsidig funksjon som gir brukere mulighet til å effektivt kombinere DataFrame-objekter langs rader eller kolonner. Det brede spekteret av alternativer og fleksibiliteten gjør det til et kraftig verktøy for databehandling og analyse. Ved å bruke eksemplene som er beskrevet i denne artikkelen, kan du utnytte Pandas concat() for å håndtere ulike databehov og få nyttige innsikter fra dine datasett.
Ofte stilte spørsmål (FAQ)
1. Hva er forskjellen mellom «ignore_index» og «keys» argumentet?
– «ignore_index» brukes til å fjerne indeksen fra den resulterende DataFrame, mens «keys» brukes til å legge til nye indekser basert på navnet på DataFrame-ene som blir konkatenert.
2. Kan jeg konkatener DataFrame-er med forskjellige datatyper i kolonnene?
– Ja, Pandas concat() tillater konkatenering av DataFrame-er med forskjellige datatyper, men det kan resultere i tomme verdier eller feil i dataframe.
3. Hvordan håndterer Pandas overlappende indekser ved konkatenering?
– Ved standard vil Pandas fjerne overlappende indekser, men du kan bruke «join» argumentet for å spesifisere hvordan overlappende indekser skal håndteres.
4. Kan jeg konkatener DataFrame-er horisontalt og vertikalt samtidig?
– Ja, du kan bruke «append» metoden for å konkatener DataFrame-er vertikalt og «join» metoden for å konkatener horisontalt.
5. Hva er ytelsesimplikasjonene ved å bruke Pandas concat()?
– Pandas concat() er en effektiv operasjon, men det kan ta tid hvis DataFrame-ene er store. Å bruke «ignore_index» argumentet og optimalisere kode for å unngå unødvendige konkateneringer kan forbedre ytelsen.
6. Kan jeg bruke Pandas concat() til å kombinere DataFrame-er med forskjellige former?
– Nei, DataFrame-ene som skal konkateneres, må ha samme form (antall rader og kolonner).
7. Hva er alternativene til Pandas concat() for konkatenering av DataFrame-er?
– I tillegg til Pandas concat() kan du bruke «append» eller «join» metode, avhengig av dine behov.
8. Er Pandas concat() en parallell operasjon?
– Nei, Pandas concat() er ikke en parallell operasjon, noe som betyr at den utføres sekvensielt.