Предположим, у меня есть три кадра данных с одинаковым индексом и одинаковыми именами столбцов (некоторые столбцы являются строками, другие числовыми): df1, df2, df3.
df1
Hour | X1 | X2 | X3 | X4
0 | 10 | H | 2 | -1
1 | 10 | b | 1 | 0
2 | 10 | D | 1 | 0
3 | 20 | L | 1 | 0
df2
Hour | X1 | X2 | X3 | X4
0 | 10 | H | 1 | 1
1 | 10 | b | 1 | 0
2 | 10 | D | 1 | 0
3 | 20 | L | 2 | 0
DF3
Hour | X1 | X2 | X3 | X4
0 | 10 | H | 0 | 0
1 | 10 | b | 0 | 0
2 | 10 | D | 0 | 0
3 | 20 | L | 0 | 30
Мне нужен новый фрейм данных, представляющий собой среднее значение этих фреймов данных для числовых значений, но оставив строковый столбец без изменений (все строковые столбцы одинаковы).
df4 =
Hour | X1 | X2 | X3 | X4
0 | 10 | H | 1 | 0
1 | 10 | b | 1 | 0
2 | 10 | D | 1 | 0
3 | 20 | L | 1 | 10
Я предпочитаю делать это, используя функцию добавления, так как мне нужно написать цикл for для доступа к каждому фрейму данных. Спасибо!