logo

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:

python nebo
   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

ve srovnání s metodou java




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


pořadí podle náhodného sql



# 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.

obecná porucha ochrany

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ázvemdf>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)>

>

>

ostrý úhel

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 DataFramedf>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.