如何检查numpy / pandas对象,即R中的str()

时间:2015-01-27 01:09:29

标签: python r numpy pandas

当我使用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对象的结构,类似于R中的str()

3 个答案:

答案 0 :(得分: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's methods

IPython控制台的另一个好处是你可以快速查看 通过添加?

帮助任何单个方法
h_grouped.apply?
# Apply function and combine results 
# together in an intelligent way.

如果你没有IPython或类似的控制台,你可以使用dir()实现类似的功能,例如dir(h_grouped),虽然这也会列出 对象的私有方法通常没用,也不应该 经常使用。

答案 1 :(得分:0)

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

type会告诉你它是什么类型的对象。目前,您按维度进行分组,而不是告诉大熊猫如何处理age。例如,如果你想要平均值,你可以这样做:

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

这将采用小组的年龄平均值,并返回一系列。

答案 2 :(得分: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')