python - PyCharm:无法查看 Pandas 数据框的子类

标签 python pandas dataframe pycharm

情况

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

下面的 PyCharm 2018.2.4 截图显示了一个简单的例子。如您所见,选项 View as DataFrame 可用于标准数据框,但不适用于数据框子类。

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 数据框查看器?

最佳答案

此解决方案不需要在调试期间创建临时变量,并且还允许您查看原始 DataFrame 而不会被转置或丢失 header 。

在你的子类中,添加:

@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

关于python - PyCharm:无法查看 Pandas 数据框的子类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52727838/

相关文章:

Python 绘制两个变量之间的每月数据

python - 删除 pandas 数据框中少于 6 个月的重叠周期

python - Pandas DataFrame.loc 返回空 DataFrame

python - 添加数据框并根据可用性划分结果

python - 为什么我的函数不向全局变量返回值?

python - Heroku 中的依赖库存放在哪里?

python - Django 字符串索引必须是整数,而不是 str

python - 类交叉引用?

pandas - 根据另一列的值在新数据框列中应用函数

Python 数据框使用带有 2 个变量的 lambda 函数和 if else 语句分配新列