【发布时间】:2021-01-31 00:21:55
【问题描述】:
我使用过滤器功能过滤我想要的标题。然后我想用 show_data 操作查看数据。但是,数据以其原始形式出现。不来过滤。我怎样才能做到这一点? 非常非常非常感谢。
import pandas as pd
import os
class MainData:
csv_path = os.path.expanduser("~/Desktop/dataset/traffic-crashes-
vehicles-1.csv")
data = pd.read_csv(csv_path)
def __init__(self):
self.data = data
def filter(self):
self.data = self.data[['MAKE','NUM_PASSENGERS']]
return self.data
def show_data(self):
a = self.data
return self.data
MainData().filter()
MainData().show_data()
【问题讨论】:
-
你在
show_data之前调用过filter方法吗? -
我是这样运行的,可惜当我返回self.data时,第一个数据又来了。
-
先创建对象再使用
instance method -
这应该会引发错误。这不是你调用这些方法的方式。它至少应该类似于
MainData().filter()。 在类定义之后,而不是在其中。 -
self.data =...创建一个新的实例绑定属性“数据”,但不修改原始类绑定“数据”。然后你扔掉带有属性的实例并创建一个新的。
标签: python python-3.x pandas oop