Функция Python, передающая атрибуты Dataframe панд, не работает - PullRequest
0 голосов
/ 30 апреля 2019

Это простой пример.

d=pd.DataFrame({'a':[1,2,3,4],
                'b':[6,6,7,8]})

Я пишу функцию f (x). Я хочу напечатать dx Функция:

def f(x):
  print(d.x)

Выполнить f(a).Я ожидаю, что он напечатает d.a

Но он возвращает NameError: name 'a' is not defined.Как мне это решить?

Ответы [ 2 ]

4 голосов
/ 30 апреля 2019

Вы не можете подойти к нему таким образом, вам понадобится функция, которая получает столбец на [ ], а также вводит строку:

def f(x):
    print(d[x])

И для ее вызова:

f('a')
0 голосов
/ 30 апреля 2019

вы должны написать x.a, если вы попытаетесь передать фрейм данных в функции, которая локально x

def f(x):
  print(x.a)

но если вы передадите имя столбца, а dataframe будет глобальной переменной, вы можете использовать ниже

 def f(x):
   print(d[x])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...