Как проверить объект numpy / pandas, т.е. str () в R

1

Когда я использую R, я могу использовать str() для проверки объектов, которые являются списком вещей в большинстве случаев.

Недавно я перешел на Python для статистики и не знаю, как проверить объекты, с которыми я сталкиваюсь. Например:

import statsmodels.api as sm
heart = sm.datasets.heart.load_pandas().data
heart.groupby(['censors'])['age']

Я хочу выяснить, что это за объект heart.groupby(['censors']), который позволяет мне добавить ['age'] в конец. Однако print heart.groupby(['censors']) сообщает мне тип объекта, а не его структуру и то, что я могу с ним сделать.

Итак, как мне понять структуру объекта numpy/ pandas, аналогичного str() в R?

Теги:
pandas
numpy

3 ответа

1

Если вы пытаетесь получить представление о том, что вы можете сделать с объектом Python, вы можете проверить его с помощью усиленной консоли Python, такой как IPython. В сеансе IPython сначала поместите объект, который вы хотите посмотреть, в переменную:

import statsmodels.api as sm
heart = sm.datasets.heart.load_pandas().data
h_grouped = heart.groupby(['censors'])

Затем введите имя переменной и дважды нажмите Tab, чтобы вызвать список методов объекта:

In [5]: h_grouped.<Tab><Tab>
# Shows the object methods

Еще одно преимущество консоли IPython - вы можете быстро проверить help для любого индивидуального метода, добавив ?:

h_grouped.apply?
# Apply function and combine results 
# together in an intelligent way.

Если у вас нет IPython или аналогичной консоли, вы можете добиться чего-то подобного, используя dir(), например. dir(h_grouped), хотя это также будет указано частные методы объекта, которые обычно не полезны и не должны быть прикосновен к регулярному использованию.

  • 0
    Двойное нажатие на Tab является изящной уловкой, но, к сожалению, в этом случае возвращает более 300 методов (Более того, я не вижу в списке mean() !). Допустим, я хочу найти, если есть метод, связанный с «взятием среднего», как бы я это сделал?
  • 1
    h_grouped.apply?? показывает код, если написан на Python.
Показать ещё 3 комментария
0

groupby Я думаю, что красная селедка - "возраст" - это просто имя столбца:

import statsmodels.api as sm

heart = sm.datasets.heart.load_pandas().data
heart
#      survival  censors   age
#  0         15        1  54.3
#  ...

heart.keys()
#  Index([u'survival', u'censors', u'age'], dtype='object')
0
type(heart.groupby(['censors'])['age'])

type расскажет вам, что это за объект. На данный момент вы группируетесь по размеру и не говорите pandas, что делать с age. Если вы хотите получить среднее значение, например, вы можете:

heart.groupby(['censors'])['age'].mean()

Это означало бы возраст группы и возвращал серию.

  • 0
    Но откуда мне знать, что я могу добавить возраст к объекту groupby таким образом?
  • 0
    Возраст уже является частью данных, сердце. Вы не добавляете это.
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню