PyCharm:无法查看Pandas DataFrame的子类

3

情况

PyCharm内置了一个很好的pandas数据框查看器。但是,这个查看器似乎并不适用于数据框的子类。

下面是 PyCharm 2018.2.4 的截图,显示了一个简单的示例。 正如您所见,标准数据框的选项“查看为数据框”可用,但子类数据框的选项则不可用。

pycharm 2018.2.4 screenshot

以下是相同的示例代码,但以文本格式呈现:

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'])

问题

有没有办法启用PyCharm的数据框查看器来查看数据框子类?

3个回答

2

这种解决方案在调试时不需要创建临时变量,同时还可以让你查看原始的DataFrame,而无需转置或缺失标题。

在你的子类中添加如下内容:

@property
def base_class_view(self):
    # use this to view the base class, needed for debugging in some IDEs.
    return pd.DataFrame(self)

现在在使用PyCharm进行调试时,您可以点击“变量”查看器中DataFrame旁边的向下箭头。您应该会看到“base_class_view”属性,然后单击其右侧的“查看为DataFrame”。请注意保留HTML标签。

1
我不知道有任何选项可以启用,但您可以通过点击变量名称左侧的小箭头来展开变量。
在那里,您有几个选项:
  • 查看T of T(即转置的转置)作为DataFrame(您应该看到可点击的链接)
  • _get_values_valuesvalues视为查看器中的数组(同样,应该有可点击的链接)
  • 这是我目前在PyCharm中看到的唯一实现您要求的方法。

    0
    最终我选择了另一种解决方法。我将子类数据框的数据内容复制到标准数据框中,如下所示:
    temp_df = pd.DataFrame(sdf)
    

    然后我在PyCharm数据帧查看器中打开。


    网页内容由stack overflow 提供, 点击上面的
    可以查看英文原文,
    原文链接