无法在pycharm调试程序会话中检查类型为DataFrame的类属性

时间:2019-01-13 10:46:04

标签: python-3.x pandas scikit-learn pycharm

我在python 3.6中设置了一个函数和一个类方法,它们都可以获取波士顿数据集。在后一种情况下,波士顿数据集将存储为对象的类属性。

在两种情况下,“绑定”类型都以完全相同的方式转换为熊猫数据框。

当我在pycharm调试器中进行检查时,使用pycharm的“按数组查看/数据框”功能...

https://www.jetbrains.com/help/pycharm/viewing-as-array.html

...我可以通过调用函数并将输出分配给变量来查看生成的df,而不是分配给实例化对象的class属性的df。

from sklearn.datasets import load_boston
import pandas as pd

# define function to get boston data
def get_boston():
    boston = load_boston()
    df = pd.DataFrame(boston.data, columns=boston.feature_names)
    df['target'] = boston.target
    return df


class MyData:
    """
    Object with boston data as attribute
    """

    def __init__(self, raw_data=None, processed_data=None):
        self.raw_data = raw_data
        self.processed_data = processed_data

    def get_data(self):
        boston = load_boston()
        df = pd.DataFrame(boston.data, columns=boston.feature_names)
        df['target'] = boston.target
        self.raw_data = df


my_data_1 = MyData()
my_data_1.get_data()

my_data_2 = get_boston()

print(my_data_1.raw_data.head(5))

运行调试器会话时,可以使用pycharm中的“以数据框查看”功能检查my_data_2变量,但是当对类属性raw_data进行相同操作时,将显示“以数据框查看”对话框-“什么也没显示”,即使我可以正确地将其内容打印到控制台(使用pandas.DataFrame.head()方法)

我正在Ubuntu Linux上使用PyCharm 2018.3.3。

0 个答案:

没有答案