Jak aktualizovat řádky a sloupce pomocí Python Pandas

Jak aktualizovat řádky a sloupce pomocí Python Pandas

Python Pandas je výkonná knihovna pro zpracování a analýzu dat, která poskytuje širokou škálu funkcí pro manipulaci s datovými rámci. Aktualizace řádků a sloupců v datovém rámci Pandas je běžný úkol, který lze provést několika způsoby. V tomto článku probereme různé metody aktualizace řádků a sloupců v datovém rámci Pandas pomocí příkladů.

Aktualizace řádků

Použití metody loc

Metoda loc umožňuje vybrat a aktualizovat řádky na základě štítků indexů. Syntaxe je následující:

python
df.loc[index_labels, column_labels] = new_values

Kde:

* index_labels jsou štítky indexů řádků, které chcete aktualizovat.
* column_labels jsou štítky sloupců, které chcete aktualizovat.
* new_values jsou nové hodnoty, které chcete přiřadit vybraným řádkům a sloupcům.

  Checkmate Fintech App, EpisodeSix získává 48 milionů $, WWDC 5. června

Příklad:

python
import pandas as pd

Vytvoření datového rámce

df = pd.DataFrame({
"Jméno": ["Petr", "Jana", "Karel"],
"Věk": [25, 30, 35]
})

Aktualizace řádku s indexem 1

df.loc[1, "Věk"] = 32

print(df)

Výsledek:


Jméno Věk
0 Petr 25
1 Jana 32
2 Karel 35

Použití metody iloc

Metoda iloc umožňuje vybrat a aktualizovat řádky na základě jejich pozic. Syntaxe je následující:

python
df.iloc[row_positions, column_positions] = new_values

Kde:

* row_positions jsou pozice řádků, které chcete aktualizovat.
* column_positions jsou pozice sloupců, které chcete aktualizovat.
* new_values jsou nové hodnoty, které chcete přiřadit vybraným řádkům a sloupcům.

Příklad:

python

Aktualizace řádku na pozici 1

df.iloc[1, 1] = 34

print(df)

Výsledek:


Jméno Věk
0 Petr 25
1 Jana 34
2 Karel 35

Aktualizace sloupců

Použití metody assign

Metoda assign umožňuje přidat nové sloupce nebo aktualizovat existující sloupce. Syntaxe je následující:

python
df = df.assign(new_column_name=new_values)

Kde:

* new_column_name je název nového sloupce nebo stávajícího sloupce, který chcete aktualizovat.
* new_values jsou nové hodnoty, které chcete přiřadit novému nebo existujícímu sloupci.

Příklad:

python

Přidání nového sloupce "Pohlaví"

df = df.assign(Pohlaví=["Muž", "Žena", "Muž"])

print(df)

Výsledek:


Jméno Věk Pohlaví
0 Petr 25 Muž
1 Jana 34 Žena
2 Karel 35 Muž

Použití metody rename

Metoda rename umožňuje přejmenovat sloupce. Syntaxe je následující:

python
df = df.rename(columns={"old_column_name": "new_column_name"})

Kde:

* old_column_name je název stávajícího sloupce, který chcete přejmenovat.
* new_column_name je nový název sloupce.

Příklad:

python

Přejmenování sloupce "Věk" na "Stáří"

df = df.rename(columns={"Věk": "Stáří"})

print(df)

Výsledek:


Jméno Stáří Pohlaví
0 Petr 25 Muž
1 Jana 34 Žena
2 Karel 35 Muž

Pokročilé aktualizace

Podmíněné aktualizace

Podmíněné aktualizace umožňují aktualizovat řádky nebo sloupce na základě určitých podmínek. K tomu lze použít buleovské masky.

Příklad:

python

Aktualizace řádků, jejichž věk je vyšší než 30

mask = df["Stáří"] > 30
df.loc[mask, "Pohlaví"] = "Střední věk"

print(df)

Výsledek:


Jméno Stáří Pohlaví
0 Petr 25 Muž
1 Jana 34 Střední věk
2 Karel 35 Střední věk

Vektorised aktualizace

Vektorised aktualizace umožňují aktualizovat více řádků nebo sloupců najednou pomocí vektorových operací.

Příklad:

python

Aktualizace všech řádků přidáním 5 k věku

df["Stáří"] += 5

print(df)

Výsledek:


Jméno Stáří Pohlaví
0 Petr 30 Muž
1 Jana 39 Střední věk
2 Karel 40 Střední věk

Aktualizace z jiného datového rámce

Řádky a sloupce lze také aktualizovat z jiného datového rámce.

Příklad:

python

Vytvoření nového datového rámce s aktualizovanými věky

new_df = pd.DataFrame({
"Jméno": ["Petr", "Jana", "Karel"],
"Stáří": [32, 36, 38]
})

Aktualizace datového rámce df pomocí nového datového rámce

df[["Stáří"]] = new_df[["Stáří"]]

print(df)

Závěr

Aktualizace řádků a sloupců v datovém rámci Pandas je důležitou součástí zpracování dat. Použití metod loc, iloc, assign a rename umožňuje flexibilně aktualizovat data v závislosti na požadavcích. Podmíněné aktualizace a vektorised aktualizace dále rozšiřují možnosti aktualizace. Pochopení těchto metod umožní efektivní manipulaci s datovými rámci Pandas a získávání cenných poznatků z dat.

Často kladené otázky

1. Jak aktualizovat konkrétní buňku v datovém rámci Pandas?
Můžete použít metodu at, např. df.at[row_index, column_index] = new_value.
2. Jak přidat nový řádek do datového rámce Pandas?
Použijte metodu loc s novým indexem, např. df.loc[new_index] = [nové hodnoty].
3. Jak odstranit řádek nebo sloupec z datového rámce Pandas?
Použijte metodu drop, např. df.drop(index_labels) nebo df.drop(column_labels, axis=1).
4. Jak přejmenovat indexy datového rámce Pandas?
Použijte metodu rename_axis, např. df.rename_axis("nové štítky indexů", axis=0).
5. Jak aktualizovat více sloupců najednou pomocí metody assign?
Použijte slovník s názvy sloupců jako klíči a odpovídajícími novými hodnotami jako hodnotami, např. df = df.assign({"sloupec1": nová_hodnota1, "sloupec2": nová_hodnota2}).
6. Jak použít podmíněnou aktualizaci s více podmínkami?
Použijte operátor & (AND) nebo | (OR) pro kombinaci více podmínek v buleovské masce, např. mask = (df["sloupec1"] > 10) & (df["sloupec2"] < 100).
7. Jak aktualizovat datový rámec Pandas z jiného zdroje dat?
Použijte meto