【问题标题】:PyCharm: unable to view subclass of pandas dataframePyCharm:无法查看熊猫数据框的子类
【发布时间】:2019-03-14 15:13:02
【问题描述】:

情况

PyCharm 有一个简洁的内置 viewer for pandas dataframes。但是,此查看器似乎不适用于数据框子类。

下面的 PyCharm 2018.2.4 屏幕截图显示了一个简单的示例。如您所见,选项 View as 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'])

问题

有没有办法为数据帧子类启用 PyCharm 数据帧查看器?

【问题讨论】:

    标签: python pandas dataframe pycharm


    【解决方案1】:

    此解决方案不需要在调试期间创建临时变量,它还允许您查看原始 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 进行调试时,您可以在 Variables 查看器中单击 DataFrame 旁边的向下箭头。您应该会看到 base_class_view 属性,然后单击其右侧的 View as DataFrame

    【讨论】:

      【解决方案2】:

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

      在那里,您有几个选择:

      • TT(即转置的转置)作为DataFrame 进行查看(您应该会看到可点击的链接)
      • 在查看器中将_get_values_valuesvalues作为数组查看(同样,应该有一个可点击的链接)

      这是我目前在 PyCharm 中看到的执行您要求的唯一方式。

      【讨论】:

        【解决方案3】:

        最后,我选择了另一种解决方法。我将子类数据框的数据内容复制到标准数据框,如下所示:

        temp_df = pd.DataFrame(sdf)
        

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

        【讨论】:

          猜你喜欢
          • 2015-02-04
          • 1970-01-01
          • 2017-12-29
          • 2016-03-28
          • 2022-10-08
          • 2019-01-03
          • 2020-12-12
          • 1970-01-01
          • 2020-02-02
          相关资源
          最近更新 更多