Принимая столбцы файла CSV в качестве аргументов - PullRequest
0 голосов
/ 09 июля 2020

У меня есть 3 столбца в CSV-файле, которые я хочу использовать в качестве аргументов для python функций, вычисляющих min, max, mean. Я хочу определить только 3 функции, а не по одной для каждой.

Что я принимаю в качестве аргументов?

Я пробовал много разных вещей, и картинка ниже моя самая умная (я новенькая к этому) решение

введите описание изображения здесь

1 Ответ

0 голосов
/ 10 июля 2020

Для ваших функций вам необходимо передать отдельную переменную для каждого аргумента, который вызывает ваша функция. Если вы хотите создать новый столбец в фрейме данных, который содержит максимум для трех столбцов «X», «Y», «Z», вы должны использовать apply и lambda для итерации по каждой строке, отправив каждую запись из трех столбцов к функции и поместите вывод функции в новый столбец. Используя ваш пример, это будет выглядеть так:

df['Max'] = df.apply(lambda x: max_value(x['X'],x['Y'], x['Z']), axis=1)

Это создаст новый столбец в фрейме данных с заголовком «Макс» и максимальными значениями «X», «Y» и «Z». "столбцы для каждой строки будут выведены туда. Применить применяет функцию max_value к каждой строке в фрейме данных, и три аргумента отправляются функции из столбцов X, Y и Z.

Затем ваша функция должна будет просмотреть что-то вроде:

def max_value(X, Y, Z):
    max_val = max(X, Y, Z)
    return max_val

Функции принимают три аргумента: X, Y, Z, которые передаются функцией apply, которая принимает каждый из аргументов из соответствующего столбца в каждой строке.

Сообщите мне, если я не понял вопрос.

Изменить:

В зависимости от того, как набор данных загружается из CSV, вам может потребоваться сбросить индекс перед вызовом функции :

df = df.reset_index()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...