Python PyCharm:无法查看数据帧的子类 处境

Python PyCharm:无法查看数据帧的子类 处境,python,pandas,dataframe,pycharm,Python,Pandas,Dataframe,Pycharm,PyCharm有一个整洁的内置接口。但是,此查看器似乎不适用于dataframe子类 下面的PyCharm 2018.2.4截图显示了一个简单的示例。如您所见,选项查看为DataFrame适用于标准DataFrame,但不适用于DataFrame子类 下面是示例代码,但为文本格式: import pandas as pd class SubDataFrame(pd.DataFrame): pass df = pd.DataFrame([[1,2,3],[4,5,6],[7,8,9]

PyCharm有一个整洁的内置接口。但是,此查看器似乎不适用于dataframe子类

下面的PyCharm 2018.2.4截图显示了一个简单的示例。如您所见,选项
查看为DataFrame
适用于标准DataFrame,但不适用于DataFrame子类

下面是示例代码,但为文本格式:

import pandas as pd

class SubDataFrame(pd.DataFrame):
    pass

df = pd.DataFrame([[1,2,3],[4,5,6],[7,8,9]], columns=['a','b','c'])
sdf = SubDataFrame([[1,2,3],[4,5,6],[7,8,9]], columns=['a','b','c'])
问题:
是否有任何方法可以为dataframe子类启用PyCharm dataframe viewer?

我不知道您可以启用任何选项,但您可以通过单击变量名称左侧的小箭头来展开变量
sdf

在这里,您有几个选项:

  • T
    T
    (即转置的转置)作为数据帧查看(您应该看到可单击的链接)
  • 在查看器中以数组形式查看
    \u获取\u值
    \u值
    (同样,应该有一个可单击的链接)

这是我目前在PyCharm中看到的唯一能满足您要求的方法。

最后,我决定做另一项工作。我将子类dataframe的数据内容复制到标准dataframe,如下所示:

temp_df = pd.DataFrame(sdf)

然后我在PyCharm dataframe viewer中打开它。

此解决方案不需要在调试期间创建临时变量,而且它还允许您查看原始数据帧,而不会被转置或丢失标题

在子类中,添加以下内容:

@属性
def基本类视图(自):
#使用此选项可以查看基类,这是在某些IDE中调试所需的。
返回pd.数据帧(自身)
现在,当使用PyCharm进行调试时,您可以在
变量
查看器中单击数据帧旁边的向下箭头。您应该看到
base\u class\u视图
属性,然后单击该属性右侧的
view as DataFrame