pandas - устанавливает значение, основанное на том, что НЕ является конкретным целочисленным индексом и значением столбца - PullRequest
0 голосов
/ 29 мая 2019

Предположим, у меня есть частота данных df1:

   Color Saturation Letter
0  red        90       B
7  green      90       B
2  blue       90       A
7  red        90       B
2  green      90       B
7  red        90       A

, и я хочу установить значение Saturation равным 1 только для строк, где индекс не равен 7 и Letter равно A

Итак, мы получаем:

  Color Saturation Letter
    0  red        90       B
    7  green      90       B
    2  blue       1        A
    7  red        90       B
    2  green      90       B
    7  red        90       A

Как можно это сделать?Я пытался df.loc[df['Letter']=='A' & df.index != 7, 'Saturation'] =1 и !df.iloc[7], но, похоже, не могу точно определить «неиндексные» значения.

Ответы [ 2 ]

2 голосов
/ 29 мая 2019

Использование .loc

df.loc[(df.Letter=='A')&~(df.index==7),'Saturation ']=1
0 голосов
/ 29 мая 2019

Как только я отправил вопрос, я определил ответ:

df.loc[df['Letter']==A & ~df.index.isin([7]), "Saturation"] =1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...