Как выборочно обновить подмножество значений в кадре данных Pandas? - PullRequest
0 голосов
/ 04 апреля 2019

У меня есть фрейм данных pandas, я хочу обновить значения определенного столбца на основе значения другого столбца, в частности, я хочу это сделать (данные - это фрейм данных pandas с 3 столбцами ['Depth', 'A') , 'B']:

data['A'] = data['B'] = 0.0
data.loc[:,data.Depth == 'A'].Topsoil = 1.0
data.loc[:,data.Depth == 'B'].Subsoil = 1.0

Тогда я получил сообщение об ошибке:

IndexingError: Unalignable boolean Series provided as indexer (index of the boolean Series and of the indexed object do not match

Как правильно делать это в пандах?

Кстати, я использую Python 3.7.0 и pandas 0.24.1.

1 Ответ

0 голосов
/ 04 апреля 2019

Рассмотрим этот простой фрейм данных

data = pd.DataFrame({'A': [0,0,0,0],'B':[0,1,0,0] })

   A  B
0  0  0
1  0  1
2  0  0
3  0  0

Если вы хотите изменить значения A на основе значений B, вы можете сделать

data['A'][data['B'] == 1] = 2

   A  B
0  0  0
1  2  1
2  0  0
3  0  0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...