Вставка данных в ячейку в панд

#python #pandas #dataframe

Вопрос:

У меня есть фрейм данных о людях, и вместо того, чтобы редактировать его в Excel, я хотел бы иметь возможность напрямую вводить данные в pandas.

В приведенной ниже таблице примеров Джон ничего не имеет в df['Group']

df

Имя ID Класс Группа
0 Джон 001 89 Nan
1 Джейн 002 56 Группа 1
2 Джоан 003 91 Группа 2
3 Дэвид 004 45 Группа 1

Я хотел бы иметь возможность изменить это на «Группу 4», желательно без использования iloc (это большой df).

Имя ID Класс Группа
0 Джон 001 89 Группа 4
1 Джейн 002 56 Группа 1
2 Джоан 003 91 Группа 2
3 Дэвид 004 45 Группа 1

Я пытался

 df.loc[df['Name'] == 'John']['Group'] = 'Group 4'

df2.loc[0,'Group'] = 'Group 4'

 

Это не работает (вероятно, очевидно для вас).

Есть ли способ сделать это?

Комментарии:

1. df.loc[df['Name'] == 'John','Group'] = 'Group 4' .

2. df.loc[df['Name'] == 'John','Group'] = 'Group 4' если вы хотите сделать это по имени df.Group.fillna('Group 4',inplace=True) , если вы хотите заполнить все » NaN «(убедитесь, что это NaN) в столбце группы, чтобы быть «Group4»

Ответ №1:

Для назначения новых переменных в панд вы можете использовать либо loc или at метод, указав имя меток:

loc метод:

 df.loc[df['name'] == 'John', 'Group'] = 'Group 4'
 

at метод(предостережение: at одновременно можно получить доступ только к одному значению)

 df.at[df['name'] == 'John', 'Group'] = 'Group 4'
# **OR**
df.at[0, 'Group'] = 'Group 4'