Lägg till kolumn i pandas data frame - 5 metoder
Innehållsförteckning:
- Introduktion
- Skapa en pandas dataframe
- Lägga till en ny kolumn med en skalär värde
- Lägga till en ny kolumn med en lista av värden
- Använda "df.insert" för att placera en kolumn på en specifik position
- Använda "df.assign" för att lägga till en ny kolumn med en beräknad funktion
- Lägga till en ny kolumn med värden från en annan dataframe
- Lägga till en ny kolumn med "loc" och "iloc" metoder
- Rekommenderade metoder att lägga till en ny kolumn
- Summering
Hur lägger man till en ny kolumn i en pandas data frame?
Ett vanligt scenario i dataanalys är att lägga till en ny kolumn i en befintlig pandas data frame. Det kan vara en kolumn med härledd data eller en helt ny uppsättning värden. Oavsett vad kan du lägga till och uppdatera data i en pandas data frame på flera sätt.
1. Introduktion
I denna artikel kommer vi att utforska fem olika sätt att lägga till en ny kolumn i en pandas data frame. Vi kommer att använda python-biblioteket pandas för att arbeta med data frames och utföra olika operationer.
2. Skapa en pandas dataframe
Innan vi går vidare till att lägga till en ny kolumn måste vi skapa en pandas data frame att arbeta med. Vi kan göra det genom att importera pandas-biblioteket och skapa en data frame med hjälp av en lista med restaurangdata i San Francisco.
Kodexempel:
import pandas as pd
# Skapa en data frame
data = {'Namn': ['Restaurang A', 'Restaurang B', 'Restaurang C'],
'Typ': ['Kafé', 'Restaurang', 'Bar'],
'Medelräkning': [100, 200, 150]}
df = pd.DataFrame(data)
3. Lägga till en ny kolumn med en skalär värde
Det första sättet att lägga till en ny kolumn är genom att tilldela den ett skalärt värde. Detta innebär att värdet kommer att vara detsamma för varje rad i data frames kolumn.
Kodexempel:
# Lägg till en ny kolumn med en skalär värde
df['Veckodag'] = 'Måndag'
Resultat:
Namn Typ Medelräkning Veckodag
0 Restaurang A Kafé 100 Måndag
1 Restaurang B Restaurang 200 Måndag
2 Restaurang C Bar 150 Måndag
4. Lägga till en ny kolumn med en lista av värden
För att lägga till en ny kolumn med en lista av värden måste listan vara av samma längd som antalet rader i data frames kolumn. Detta gör att varje rad får ett unikt värde i den nya kolumnen.
Kodexempel:
# Lägg till en ny kolumn med en lista av värden
veckodagar = ['Måndag', 'Tisdag', 'Onsdag'] # Längd: 3
df['Veckodag'] = veckodagar
Resultat:
Namn Typ Medelräkning Veckodag
0 Restaurang A Cafe 100 Måndag
1 Restaurang B Restaurang 200 Tisdag
2 Restaurang C Bar 150 Onsdag
5. Använda "df.insert" för att placera en kolumn på en specifik position
Med "df.insert" kan vi ange den exakta positionen där den nya kolumnen ska infogas. Vi använder indexvärdena för att specificera platsen för den nya kolumnen.
Kodexempel:
# Använda "df.insert" för att placera en kolumn på en specifik position
df.insert(2, 'Stjärnor', [3, 4, 5])
Resultat:
Namn Typ Stjärnor Medelräkning Veckodag
0 Restaurang A Kafé 3 100 Måndag
1 Restaurang B Restaurang 4 200 Tisdag
2 Restaurang C Bar 5 150 Onsdag
6. Använda "df.assign" för att lägga till en ny kolumn med en beräknad funktion
Med "df.assign" kan vi skapa en ny kolumn genom att tillämpa en beräknad funktion på befintliga kolumner i data frames. Vi använder en lambda-funktion för att dela den "Medelräkning"-kolumn med 2.
Kodexempel:
# Använda "df.assign" för att lägga till en ny kolumn med en beräknad funktion
df = df.assign(Halv_räkning=lambda x: x['Medelräkning'] / 2)
Resultat:
Namn Typ Stjärnor Medelräkning Veckodag Halv_räkning
0 Restaurang A Cafe 3 100 Måndag 50
1 Restaurang B Restaurang 4 200 Tisdag 100
2 Restaurang C Bar 5 150 Onsdag 75
7. Lägga till en ny kolumn med värden från en annan dataframe
Om vi har en annan pandas data frame med värden som vi vill lägga till i vår befintliga data frame kan vi använda "df.merge" för att slå samman dem baserat på gemensamma kolumner.
Kodexempel:
# Skapa en annan data frame med månader
månader = {'Namn': ['Restaurang A', 'Restaurang B', 'Restaurang C'],
'Månader': ['Januari', 'Februari', 'April']}
df2 = pd.DataFrame(månader)
# Slå samman data frames baserat på namn
df = pd.merge(df, df2, on='Namn')
Resultat:
Namn Typ Stjärnor Medelräkning Veckodag Halv_räkning Månader
0 Restaurang A Kafé 3 100 Måndag 50 Januari
1 Restaurang B Restaurang 4 200 Tisdag 100 Februari
2 Restaurang C Bar 5 150 Onsdag 75 April
8. Lägga till en ny kolumn med "loc" och "iloc" metoder
Vi kan också använda "loc" eller "iloc" metoder för att tillägga en ny kolumn till vår data frame. Vi tilldelar helt enkelt en ny kolumn genom att hänvisa till den nya kolumnen i "loc" eller "iloc" och tilldela sedan värden till den.
Kodexempel:
# Lägga till en ny kolumn med "loc" och "iloc" metoder
df.loc[:, 'År'] = [2021, 2021, 2021] # Lägg till årskolumn
df.iloc[:, -1] = [2022, 2022, 2022] # Uppdatera årskolumn
Resultat:
Namn Typ Stjärnor Medelräkning Veckodag Halv_räkning Månader År
0 Restaurang A Kafé 3 100 Måndag 50 Januari 2022
1 Restaurang B Restaurang 4 200 Tisdag 100 Februari 2022
2 Restaurang C Bar 5 150 Onsdag 75 April 2022
9. Rekommenderade metoder att lägga till en ny kolumn
Av de fem metoderna vi har utforskat rekommenderas de första fyra metoderna när det gäller att lägga till en ny kolumn i en pandas data frame. Dessa metoder är enkla, lättförståeliga och ger mycket flexibilitet.
- Att tilldela en kolumn med skalära värden är det enklaste sättet att lägga till en ny kolumn. Det fungerar bra när du bara behöver ett och samma värde för varje rad.
- Att tilldela en kolumn med en lista av värden ger dig möjlighet att ha olika värden för varje rad i data frame.
- Att använda "df.insert" ger dig möjlighet att välja exakt position för den nya kolumnen.
- Att använda "df.assign" låter dig skapa en ny kolumn genom att tillämpa en beräknad funktion på befintliga kolumner i data frame.
10. Summering
I denna artikel har vi utforskat olika metoder för att lägga till en ny kolumn i en pandas data frame. Vi har sett hur man kan lägga till en kolumn med ett skalärt värde, en lista av värden, hur man placerar den på en specifik position, eller genom att använda en beräknad funktion. Vi har också diskuterat fördelarna med varje metod och gett rekommendationer för bästa användning.
Vi hoppas att denna artikel har gett dig användbar information om hur du lägger till en ny kolumn i en pandas data frame. Lycka till med dina dataprojekt!
Källor: