python-3.x - 无法在 pycharm 调试器会话中检查 DataFrame 类型的类属性
问题描述
我在 python 3.6 中设置了一个函数和一个类方法,它们都获取 boston 数据集。在后一种情况下,波士顿数据集被存储为对象的类属性。
'Bunch' 类型在两种情况下都以完全相同的方式转换为 pandas 数据帧。
当我在 pycharm 调试器中检查两者时,使用 pycharm 的 View as Array / Data Frame 功能...
https://www.jetbrains.com/help/pycharm/viewing-as-array.html
...我可以通过调用函数并将输出分配给变量来查看结果,但不能查看分配给实例化对象的类属性的 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。
解决方案
推荐阅读
- arrays - typescript infer 的使用不适用于数组
- c# - WPF 从另一个视图/类更新列表框
- javascript - 更新数组中的计数值
- java - 它可以在tomcat 9和java 8上运行spring 3吗?
- javascript - 如何将 NULL% 替换为 0%
- google-kubernetes-engine - 版本“iam.cnrm.cloud.google.com/v1beta1”中的种类“IAMPolicy”没有匹配项
- node.js - 如何在 NodeJS 中用 swagger JSON 编写多个示例?
- php - 数组和原始类型的平面/合并数组
- linux-kernel - 从内核切换到用户 UNIX 时的 TLB 刷新
- material-ui - ReactJs MaterialUI - 如何测试选择组件的更改(非本机)?