Как создать функцию цикла, используя значения из словаря? - PullRequest
0 голосов
/ 09 июля 2019

Я создал словарь в python, который берет различные файлы из папки на моем локальном компьютере. Каждый ключ в словаре представляет разные файлы, поэтому, когда я запускаю, например:

d['file1']

Результат выполнения строки выше выглядит примерно так:

Date         Total
01/02/2010   500
02/02/2010   400
03/02/2010   360
04/02/2010   170

Могу ли я создать функцию цикла, которая берет значения словаря из столбца «Всего» для каждого из ключей, чтобы я мог вывести среднеквадратическую ошибку, заданную для каждого файла, просто запустив код один раз? Я хочу сосредоточиться главным образом на столбце «Итого», поскольку он будет использоваться для математических функций, которые я хотел бы выполнить.

Я надеюсь, что если в моем словаре будет 3 значения, функция зациклится 3 раза, а затем будет выведено среднеквадратичное значение ошибки вместе с именем файла. То есть такой вывод

File 1 - Mean Square error is 89.1
File 2 - Mean Square error is 102.5
File 3 - Mean Square error is 111

Спасибо.

1 Ответ

1 голос
/ 09 июля 2019

Предполагая, что каждое значение в dict является кадром данных, вы можете просто выполнить итерацию по dict и вычислить среднее значение с помощью pd.Series.mean:

d = {'file1': pd.DataFrame({'Total': [1, 2, 3]}),
     'file2': pd.DataFrame({'Total': [4, 5, 6]})}

for file_name, df in d.items():
    print('{} - Average is {}'.format(file_name, df['Total'].mean()))

Выходы

file1 - Average is 2.0
file2 - Average is 5.0
...