Только первичный владелец может отправлять сообщение на Slack

Да, вы используете его неправильно, Series.replace() по умолчанию не работает inplace, он возвращает замененный dataframe / series, вам нужно назначить его обратно на ваш файл данных / серии для его эффекта происходить. Или, если вам нужно сделать это на месте, вам нужно указать аргумент ключевого слова inplace как True. Пример -

data['sex'].replace(0, 'Female',inplace=True)
data['sex'].replace(1, 'Male',inplace=True)

. Кроме того, вы можете комбинировать приведенное выше в один вызов функции replace используя list для аргумента to_replace, а также аргумент value, Example -

data['sex'].replace([0,1],['Female','Male'],inplace=True)

Пример / Демо -

In [10]: data = pd.DataFrame([[1,0],[0,1],[1,0],[0,1]], columns=["sex", "split"])

In [11]: data['sex'].replace([0,1],['Female','Male'],inplace=True)

In [12]: data
Out[12]:
      sex  split
0    Male      0
1  Female      1
2    Male      0
3  Female      1

Вы можете также используйте словарь, пример -

In [15]: data = pd.DataFrame([[1,0],[0,1],[1,0],[0,1]], columns=["sex", "split"])

In [16]: data['sex'].replace({0:'Female',1:'Male'},inplace=True)

In [17]: data
Out[17]:
      sex  split
0    Male      0
1  Female      1
2    Male      0
3  Female      1

0
задан 13 July 2018 в 22:42
поделиться