Table of Contents
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.
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