我在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。