В то время как я вообще понимаю предупреждения, и много сообщений справиться с этим, я не понимаю, почему я получаю предупреждение только тогда, когда я достигаю GroupBy линии (последний):панды settingwithcopywarning на GroupBy
grouped = data.groupby(['group'])
for name, group in grouped:
data2=group.loc[data['B-values'] > 0]
data2["unique_A-values"]=data2.groupby(["A-values"])["A-values"].transform('count')
EDIT: Вот мой dataframe (данные):
group A-values B-values
human 1 -1
human 1 5
human 1 4
human 3 4
human 2 10
bird 7 8
....
для B-значений> 0 (data2=group.loc[data['B-values'] > 0]
):
имеет два А-значения человека, равным один, один равен 3 и один равен 2 (data2["unique_A-values"]=data2.groupby(["A-values"])["A-values"].transform('count')
)
Что вы задумали здесь? Чтобы изменить группу или исходный df? Если это первое, вы можете игнорировать его, если это последнее, поэтому именно поэтому предупреждение возникает. Если вы хотите выполнить первое без предупреждений, вы можете сделать 'data2 = group.loc [data ['B-values']> 0] .copy()' – EdChum
Спасибо Ed, см. Мое редактирование – Sara
Итак, вы хотите обновить orig df или нет, вы не ответили на мой вопрос – EdChum