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数据框查看器吗?
答案 0 :(得分:1)
我不知道您可以启用任何选项,但是可以通过单击变量名左侧的小箭头来展开变量sdf
。
在那里,您有几种选择:
T
中的T
(即转置的转置)查看为DataFrame(您应该看到可点击的链接)_get_values
或_values
或values
(同样,应该有一个可单击的链接)这是我目前在PyCharm中看到的唯一执行您要求的方法。
答案 1 :(得分: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 :(得分:0)
最后,我确定了另一个解决方法。我将子类数据帧的数据内容复制到标准数据帧中,如下所示:
temp_df = pd.DataFrame(sdf)
然后我在PyCharm数据框查看器中打开。