Python Dataframe: добавить элемент в несколько ячеек с условием

1

Привет, скажем, у меня есть dataframe, и я хочу добавить текст в выбранные ячейки с условием. Условие состоит в том, что ячейки не наносятся:

Информационный кадр:

index Column1

1      nan 
2      name1
3      name2
4      name4

Меня интересуют только ячейки с 2 по 3 и проверяют, не являются ли они нанки. Я хочу добавить строку типа str_2_add.

Финал должен выглядеть так:

index Column1

1      nan 
2      name1 str_2_add
3      name2 str_2_add
4      name4

Каков наилучший способ сделать это. Большое спасибо.

Теги:
string
pandas
dataframe
series

2 ответа

0
Лучший ответ

Использование pd.DataFrame.loc и pd.Series.notnull:

df.loc[df['Column1'].notnull() & df['index'].isin([2, 3]), 'Column1'] += ' str_2_add'

print(df)

   index          Column1
0      1              NaN
1      2  name1 str_2_add
2      3  name2 str_2_add
3      4            name4
0

Используйте метод where. (или маску)

#these are equivalent
df.where(df == "nan", df + "str_2_add")
df.mask(df != "nan", df + "str_2_add")
  • 0
    Привет, спасибо за ответ, я хочу сделать это только для выбранных строк, не все из них только 2 и 3, как в моем примере.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню