Я думаю, вам нужно извлечь имена столбцов, а затем использовать функции loc
или iloc
:
cols = df.filter(regex='col1').columns
df.loc[0, cols]=10
Или:
df.iloc[0, df.columns.get_indexer(cols)] = 10
print (df)
col1 col2
0 10 3
1 2 4
Вы не можете использовать функцию filter
,потому что подмножество возвращает Series / DataFrame, который может иметь свои данные в качестве представления.Вот почему SettingWithCopyWarning
возможен там (или повышается, если вы установите опцию).