Jak wstawić kolumnę do ramki danych pandas
Często możesz chcieć wstawić nową kolumnę do ramki DataFrame pandy. Na szczęście można to łatwo zrobić za pomocą funkcji pandas Insert() , która wykorzystuje następującą składnię:
wstaw(loc, kolumna, wartość, zezwolenie_duplikaty=Fałsz)
Złoto:
- loc: indeks, w którym należy wstawić kolumnę. Pierwsza kolumna to 0.
- kolumna: Nazwa, która ma zostać nadana nowej kolumnie.
- wartość: Tablica wartości dla nowej kolumny.
- allow_duplicates: Określa, czy nowa nazwa kolumny ma być zgodna z istniejącą nazwą kolumny. Wartość domyślna to Fałsz.
W tym samouczku przedstawiono kilka przykładów praktycznego wykorzystania tej funkcji.
Przykład 1: Wstaw nową kolumnę jako pierwszą kolumnę
Poniższy kod pokazuje, jak wstawić nową kolumnę jako pierwszą kolumnę istniejącej ramki DataFrame:
import pandas as pd #createDataFrame df = pd.DataFrame({'points': [25, 12, 15, 14, 19], 'assists': [5, 7, 7, 9, 12], 'rebounds': [11, 8, 10, 6, 6]}) #view DataFrame df points assists rebounds 0 25 5 11 1 12 7 8 2 15 7 10 3 14 9 6 4 19 12 6 #insert new column 'player' as first column player_vals = ['A', 'B', 'C', 'D', 'E'] df. insert (loc= 0 , column='player', value=player_vals) df player points assists rebounds 0 to 25 5 11 1 B 12 7 8 2 C 15 7 10 3 D 14 9 6 4 E 19 12 6
Przykład 2: Wstaw nową kolumnę jako kolumnę środkową
Poniższy kod pokazuje, jak wstawić nową kolumnę jako trzecią kolumnę istniejącej ramki DataFrame:
import pandas as pd #createDataFrame df = pd.DataFrame({'points': [25, 12, 15, 14, 19], 'assists': [5, 7, 7, 9, 12], 'rebounds': [11, 8, 10, 6, 6]}) #insert new column 'player' as third column player_vals = ['A', 'B', 'C', 'D', 'E'] df. insert (loc= 2 , column='player', value=player_vals) df points assists player rebounds 0 25 5 A 11 1 12 7 B 8 2 15 7 C 10 3 14 9 D 6 4 19 12 E 6
Przykład 3: Wstaw nową kolumnę jako ostatnią kolumnę
Poniższy kod pokazuje, jak wstawić nową kolumnę jako ostatnią kolumnę istniejącej ramki DataFrame:
import pandas as pd #createDataFrame df = pd.DataFrame({'points': [25, 12, 15, 14, 19], 'assists': [5, 7, 7, 9, 12], 'rebounds': [11, 8, 10, 6, 6]}) #insert new column 'player' as last column player_vals = ['A', 'B', 'C', 'D', 'E'] df. insert (loc= len (df.columns) , column='player', value=player_vals) df points assists player rebounds 0 25 5 A 11 1 12 7 B 8 2 15 7 C 10 3 14 9 D 6 4 19 12 E 6
Zauważ, że użycie len(df.columns) pozwala na wstawienie nowej kolumny jako ostatniej kolumny dowolnej ramki danych, niezależnie od tego, ile kolumn może ona zawierać.
Pełną dokumentację funkcji wstaw() znajdziesz tutaj .