Přidání nového sloupce do existujícího DataFrame v Pandas
Přidání nových sloupců do existujícího DataFrame je základním úkolem při použití analýzy dat pandy . Umožňuje vám obohatit vaše data o další informace a usnadnit další analýzu a manipulaci. Tento článek prozkoumá různé metody přidávání nových sloupců, včetně jednoduchého přiřazení insert()> metoda, assign()> metoda. Pojďme diskutovat o přidávání nových sloupců do stávajícího DataFrame Pandas.
Co je Pandas DataFrame?
A Pandas DataFrame je dvourozměrná, velikostně proměnná, potenciálně heterogenní tabulková datová struktura s označenými osami (řádky a sloupce). Je to základní datová struktura v ekosystému datové vědy Pythonu a poskytuje výkonný způsob práce s tabulkovými daty.
Zde jsou některé klíčové funkce Pandas DataFrame:
- Reprezentace dat: Ukládá data ve formátu tabulky s řádky a sloupci.
- Heterogenní datové typy: Může obsahovat různé datové typy v různých sloupcích (např. celá čísla, plovoucí čísla, řetězce, booleovské hodnoty).
- Značení: Každý řádek a sloupec má popisek (názvy indexů a sloupců).
- Proměnlivý: Umožňuje manipulaci a úpravy dat.
- Výkonné operace: Poskytuje různé funkce a metody pro analýzu dat, manipulaci a průzkum.
- Rozšiřitelné: Lze přizpůsobit a rozšířit o další funkce prostřednictvím knihoven a uživatelsky definovaných funkcí.
Existuje několik způsobů, jak přidat nový sloupec do existujícího datového rámce v Pandas v Krajta :
- Vytvoření ukázkového datového rámce
- Používáním Dataframe.insert() metoda
- Používáním Dataframe.assign() metoda
- Použití slovníku
- Pomocí seznamu
- Použitím .místo()
- Přidání více než jednoho sloupce do existujícího datového rámce
Vytvoření ukázkového datového rámce
Zde vytváříme ukázkový datový rámec:
Python3
import> pandas as pd> data> => {> 'Name'> : [> 'Jai'> ,> 'Princi'> ,> 'Gaurav'> ,> 'Anuj'> ],> > 'Height'> : [> 5.1> ,> 6.2> ,> 5.1> ,> 5.2> ],> > 'Qualification'> : [> 'Msc'> ,> 'MA'> ,> 'Msc'> ,> 'Msc'> ]}> df> => pd.DataFrame(data)> print> (df)> |
Výstup:
Name Height Qualification 0 Jai 5.1 Msc 1 Princi 6.2 MA 2 Gaurav 5.1 Msc 3 Anuj 5.2 Msc
Pamatujte, že délka vašeho seznamu by měla odpovídat délce sloupce indexu, jinak se zobrazí chyba.
Přidání nového sloupce do existujícího datového rámce pomocí DataFrame.insert()
Poskytuje svobodu přidat sloupec na libovolné místo, které se nám líbí, a ne pouze na konci. Poskytuje také různé možnosti pro vkládání hodnot sloupců.
Python3
import> pandas as pd> # Define a dictionary containing Students data> data> => {> 'Name'> : [> 'Jai'> ,> 'Princi'> ,> 'Gaurav'> ,> 'Anuj'> ],> > 'Height'> : [> 5.1> ,> 6.2> ,> 5.1> ,> 5.2> ],> > 'Qualification'> : [> 'Msc'> ,> 'MA'> ,> 'Msc'> ,> 'Msc'> ]}> # Convert the dictionary into DataFrame> df> => pd.DataFrame(data)> # Using DataFrame.insert() to add a column> df.insert(> 2> ,> 'Age'> , [> 21> ,> 23> ,> 24> ,> 21> ],> True> )> # Observe the result> print> (df)> |
Výstup:
Name Height Age Qualification 0 Jai 5.1 21 Msc 1 Princi 6.2 23 MA 2 Gaurav 5.1 24 Msc 3 Anuj 5.2 21 Msc
Přidání sloupců do Pandas DataFrame pomocí Dataframe.assign()
Tato metoda vytvoří nový datový rámec s novým sloupcem přidaným do starého datového rámce.
Python3
import> pandas as pd> # Define a dictionary containing Students data> data> => {> 'Name'> : [> 'Jai'> ,> 'Princi'> ,> 'Gaurav'> ,> 'Anuj'> ],> > 'Height'> : [> 5.1> ,> 6.2> ,> 5.1> ,> 5.2> ],> > 'Qualification'> : [> 'Msc'> ,> 'MA'> ,> 'Msc'> ,> 'Msc'> ]}> # Convert the dictionary into DataFrame> df> => pd.DataFrame(data)> # Using 'Address' as the column name and equating it to the list> df2> => df.assign(address> => [> 'Delhi'> ,> 'Bangalore'> ,> 'Chennai'> ,> 'Patna'> ])> print> (df2)> |
Výstup:
Name Height Qualification address 0 Jai 5.1 Msc Delhi 1 Princi 6.2 MA Bangalore 2 Gaurav 5.1 Msc Chennai 3 Anuj 5.2 Msc Patna
Pandy Přidat sloupec do DataFrame pomocí slovníku
Můžeme použít a Pythonský slovník přidat nový sloupec do pandas DataFrame. Použijte existující sloupec jako hodnoty klíče a jejich příslušné hodnoty budou hodnotami pro nový sloupec.
Python3
# Import pandas package> import> pandas as pd> # Define a dictionary containing Students data> data> => {> 'Name'> : [> 'Jai'> ,> 'Princi'> ,> 'Gaurav'> ,> 'Anuj'> ],> > 'Height'> : [> 5.1> ,> 6.2> ,> 5.1> ,> 5.2> ],> > 'Qualification'> : [> 'Msc'> ,> 'MA'> ,> 'Msc'> ,> 'Msc'> ]}> # Define a dictionary with key values of> # an existing column and their respective> # value pairs as the # values for our new column.> address> => {> 'Delhi'> :> 'Jai'> ,> 'Bangalore'> :> 'Princi'> ,> > 'Patna'> :> 'Gaurav'> ,> 'Chennai'> :> 'Anuj'> }> # Convert the dictionary into DataFrame> df> => pd.DataFrame(data)> # Provide 'Address' as the column name> df[> 'Address'> ]> => address> # Observe the output> print> (df)> |
Výstup:
Name Height Qualification Address 0 Jai 5.1 Msc Delhi 1 Princi 6.2 MA Bangalore 2 Gaurav 5.1 Msc Chennai 3 Anuj 5.2 Msc Patna
Přidání nového sloupce do Pandas DataFrame pomocí List
V tomto příkladu Pandy přidávají nové sloupce ze seznamu Adresa do existujícího Pandas DataFrame pomocí slovníku a seznamu.
Python3
# Declare a list that is to be converted into a column> address> => [> 'Delhi'> ,> 'Bangalore'> ,> 'Chennai'> ,> 'Patna'> ]> # Using 'Address' as the column name> # and equating it to the list> df[> 'Address'> ]> => address> print> (df)> |
Výstup:
Name Height Qualification Address 0 Jai 5.1 Msc Delhi 1 Princi 6.2 MA Bangalore 2 Gaurav 5.1 Msc Chennai 3 Anuj 5.2 Msc Patna
Přidejte nový sloupec do existujícího datového rámce Pandas pomocí Dataframe.loc()
V tomto příkladu vytvoří Pandas DataFrame s názvem df> se sloupci Název, Výška a Kvalifikace a přidá nový sloupec Adresa pomocí loc> atribut.
Python3
import> pandas as pd> data> => {> 'Name'> : [> 'Jai'> ,> 'Princi'> ,> 'Gaurav'> ,> 'Anuj'> ],> > 'Height'> : [> 5.1> ,> 6.2> ,> 5.1> ,> 5.2> ],> > 'Qualification'> : [> 'Msc'> ,> 'MA'> ,> 'Msc'> ,> 'Msc'> ]}> df> => pd.DataFrame(data)> # Create the list of new column values> address> => [> 'Delhi'> ,> 'Bangalore'> ,> 'Chennai'> ,> 'Patna'> ]> # Add the new column using loc> df.loc[:,> 'Address'> ]> => address> print> (df)> |
Výstup:
Name Height Qualification Address 0 Jai 5.1 Msc Delhi 1 Princi 6.2 MA Bangalore 2 Gaurav 5.1 Msc Chennai 3 Anuj 5.2 Msc Patna
Přidání více než jednoho sloupce do existujícího datového rámce
V tomto příkladu rozšiřuje existující Pandas DataFrame df> se dvěma novými sloupci, Věk a Stát, pomocí příslušných seznamů dat.
Python3
import> pandas as pd> data> => {> 'Name'> : [> 'Jai'> ,> 'Princi'> ,> 'Gaurav'> ,> 'Anuj'> ],> > 'Height'> : [> 5.1> ,> 6.2> ,> 5.1> ,> 5.2> ],> > 'Qualification'> : [> 'Msc'> ,> 'MA'> ,> 'Msc'> ,> 'Msc'> ],> > 'Address'> : [> 'Delhi'> ,> 'Bangalore'> ,> 'Chennai'> ,> 'Patna'> ]}> df> => pd.DataFrame(data)> # Define new data for additional columns> age> => [> 22> ,> 25> ,> 23> ,> 24> ]> state> => [> 'NCT'> ,> 'Karnataka'> ,> 'Tamil Nadu'> ,> 'Bihar'> ]> # Add multiple columns using dictionary assignment> new_data> => {> 'Age'> : age,> 'State'> : state }> df> => df.assign(> *> *> new_data)> print> (df)> |
Výstup:
Name Height Qualification Address Age State 0 Jai 5.1 Msc Delhi 22 NCT 1 Princi 6.2 MA Bangalore 25 Karnataka 2 Gaurav 5.1 Msc Chennai 23 Tamil Nadu 3 Anuj 5.2 Msc Patna 24 Bihar
Závěr
Pochopení toho, jak přidat nové sloupce do DataFrames, je zásadní pro průzkum dat a manipulaci s nimi v Pandas. Výběr vhodné metody závisí na konkrétním kontextu a požadovaném výsledku. Zvládnutím těchto technik můžete efektivně manipulovat, analyzovat a získávat cenné poznatky z vašich dat.