Endre rader og kolonner med Python Pandas
Innledning
Python Pandas er et allsidig bibliotek for dataanalyse, som muliggjør manipulering og analyse av data i strukturer som tabeller og tidsserier. En vanlig operasjon når man jobber med Pandas, er å oppdatere rader og kolonner i en DataFrame for å rette opp feil eller endre strukturen. I denne veiledningen skal vi se på ulike teknikker for å oppdatere rader og kolonner i Pandas på en effektiv måte.
Oppdatering av rader
Oppdatering av enkelte rader via indeks
Den mest direkte metoden for å endre en spesifikk rad i en DataFrame er ved bruk av indeksering. Man kan anvende loc
-attributtet for å få tilgang til og forandre en rad basert på dens indeks.
python
df.loc[indeks] = [nye_verdier]
For eksempel, for å endre den tredje raden:
python
df.loc[2] = [10, 20, 30]
Oppdatering av flere rader ved hjelp av logiske kriterier
Det er også mulig å endre flere rader samtidig ved å bruke logiske betingelser. query()
-metoden gir oss muligheten til å filtrere DataFrame basert på et gitt uttrykk.
python
df.query("betingelse") = [nye_verdier]
For eksempel, for å endre alle radene der kolonnen «alder» er over 30:
python
df.query("alder > 30") = [10, 20, 30]
Oppdatering av rader med maskering
Maskering gir mulighet for å selektere rader basert på en boolsk matrise. Vi kan bruke mask()
-metoden for å skape en boolsk matrise og deretter endre radene ved å anvende den.
python
df[maske] = [nye_verdier]
For å illustrere, endre radene der kolonnen «kjønn» er «mannlig»:
python
df[df["kjønn"] == "mannlig"] = [10, 20, 30]
Oppdatering av kolonner
Oppdatering av enkelte kolonner via navn
Vi kan benytte []
-operatoren for å få tilgang til og forandre en kolonne basert på dens navn.
python
df[kolonnenavn] = [nye_verdier]
For å ta et eksempel, endre kolonnen «navn»:
python
df["navn"] = ["John", "Mary", "Bob"]
Oppdatering av flere kolonner ved bruk av multippel tildeling
Det er også mulig å tildele verdier til flere kolonner samtidig ved å bruke multippel kolonnetildeling.
python
df[[kolonne1, kolonne2]] = [[nye_verdier1], [nye_verdier2]]
For å illustrere, endre kolonnene «navn» og «alder»:
python
df[["navn", "alder"]] = [["John", 30], ["Mary", 25], ["Bob", 40]]
Oppdatering av kolonner med assign()
-metoden
assign()
-metoden gjør det mulig å endre eller legge til nye kolonner i en DataFrame på en mer elegant måte.
python
df = df.assign(**{kolonnenavn: [nye_verdier]})
For å ta et eksempel, endre kolonnen «navn» ved hjelp av assign()
-metoden:
python
df = df.assign(navn=["John", "Mary", "Bob"])
Konklusjon
Oppdatering av rader og kolonner i Pandas er en vesentlig ferdighet for å manipulere og analysere data. Ved å bruke de ulike teknikkene som er presentert i denne artikkelen, kan man effektivt endre data i en DataFrame slik at de stemmer med de spesifikke behovene. Det er viktig å velge den rette metoden basert på behovet, for eksempel om det er snakk om enkle eller flere rader/kolonner, eller om det kreves logiske betingelser eller maskering. Ved hjelp av øvelse og eksperimentering vil man mestre kunsten å endre Pandas-datastrukturer for å oppnå verdifull innsikt.
Ofte stilte spørsmål (FAQ)
1. Kan jeg endre en enkelt celle i en DataFrame?
– Ja, man kan bruke at
-attributtet for å endre en bestemt celle basert på dens indekser.
2. Hvordan kan jeg legge til en ny rad i en DataFrame?
– Man kan bruke append()
-metoden eller loc
-attributtet med axis=1
for å legge til en ny rad.
3. Hvordan kan jeg slette en rad eller kolonne i en DataFrame?
– Man kan bruke drop()
-metoden for å fjerne en rad eller kolonne basert på indeks eller navn.
4. Finnes det en måte å endre en DataFrame direkte uten å tildele verdier?
– Man kan bruke inplace=True
-parameteren i endringsmetodene for å endre DataFrame direkte.
5. Hva er fordelene ved å bruke Pandas til å endre rader og kolonner?
– Pandas tilbyr effektive teknikker for å endre datastrukturer i stor skala.
– Den støtter både indeksering og logiske kriterier for presise endringer.
– Pandas forenkler endring av flere rader/kolonner samtidig.
6. Er det noen begrensninger ved å endre Pandas-datastrukturer?
– Endring av datastrukturer i Pandas kan bli ineffektivt når DataFrame er svært stor.
– Feilaktig bruk av endringsmetoder kan føre til uønskede resultater.
7. Hvilke alternative biblioteker kan jeg bruke for å endre datastrukturer i Python?
– Numpy og scikit-learn er alternativer for databehandling i Python.
8. Hvor kan jeg finne mer informasjon om Pandas» endringsmetoder?
– «loc»
– «query»
– «mask»
– «assign»