Давайте предположим, что у меня есть следующий фрейм данных:
df = pd.DataFrame(np.zeros((3, 5)), columns=["feature_a", "feature_b", "feature_c", "feature_d", "e"])
feature_a feature_b feature_c feature_d e
0 0.0 0.0 0.0 0.0 0.0
1 0.0 0.0 0.0 0.0 0.0
2 0.0 0.0 0.0 0.0 0.0
Однако, обратите внимание, что фрейм данных, с которым я имею дело, намного больше. Затем то, что я хотел бы сделать, это обновить значение двух средних столбцов, чтобы результат был:
feature_a feature_b feature_c feature_d e
0 0.0 0.0 0.0 0.0 0.0
1 0.0 8.0 8.0 0.0 0.0
2 0.0 0.0 0.0 0.0 0.0
То, что я пробовал, я предполагал, что это будет работать:
feature_columns = df.filter(like="feature").columns.values
df.loc[:,feature_columns].iloc[1,[1, 2]] = 88
Для меня очень важно, чтобы это было сделано по образцу, который я пробовал. Причина этого:
- Столбцы, которые я хочу обновить, строго содержат шаблон.
- Как только я выбрал столбцы, я знаю индекс строки и столбцов, которые я хочу обновить.
В заключение мой вопрос заключается в том, как я могу перейти от начального фрейма данных к результирующему фрейму данных, имея при этом решение, которое будет следовать тому, что я пытался делать.