Часто вам может понадобиться заменить значения в одном или нескольких столбцах кадра данных pandas.
К счастью, это легко сделать с помощью функции .replace() .
В этом руководстве представлено несколько примеров практического использования этой функции в следующем кадре данных:
import pandas as pd
#create DataFrame
df = pd.DataFrame({'team': ['A', 'A', 'B', 'B', 'B', 'C', 'C'],
'division':['E', 'W', 'E', 'E', 'W', 'W', 'E'],
'rebounds': [11, 8, 7, 6, 6, 5, 12]})
#view DataFrame
print(df)
team division rebounds
0 A E 11
1 A W 8
2 B E 7
3 B E 6
4 B W 6
5 C W 5
6 C E 12
Пример 1: замена одного значения во всем фрейме данных
В следующем коде показано, как заменить одно значение во всем DataFrame pandas:
#replace 'E' with 'East'
df = df.replace(['E'],' East')
#view DataFrame
print(df)
team division rebounds
0 A East 11
1 A W 8
2 B East 7
3 B East 6
4 B W 6
5 C W 5
6 C East 12
Пример 2: замена нескольких значений во всем фрейме данных
В следующем коде показано, как заменить несколько значений во всем кадре данных pandas:
#replace 'E' with 'East' and 'W' with 'West'
df = df.replace(['E', 'W'],['East', 'West'])
#view DataFrame
print(df)
team division rebounds
0 A East 11
1 A West 8
2 B East 7
3 B East 6
4 B West 6
5 C West 5
6 C East 12
Пример 3. Замена одного значения в одном столбце
В следующем коде показано, как заменить одно значение в одном столбце:
#replace 6 with 0 in *rebounds* column
df['rebounds'] = df['rebounds']. replace (6, 0)
#view DataFrame
print(df)
team division rebounds
0 A E 11
1 A W 8
2 B E 7
3 B E 0
4 B W 0
5 C W 5
6 C E 12
Пример 4. Замена нескольких значений в одном столбце
Следующий код показывает, как заменить несколько значений в одном столбце:
#replace 6, 11, and 8 with 0, 1 and 2 in *rebounds* column
df['rebounds'] = df['rebounds']. replace([6, 11, 8], [0, 1, 2])
#view DataFrame
print(df)
team division rebounds
0 A E 1
1 A W 2
2 B E 7
3 B E 0
4 B W 0
5 C W 5
6 C E 12
Дополнительные ресурсы
Как заменить значения NaN нулями в Pandas
Как переименовать столбцы в Pandas
Как получить номера строк в Pandas