Dataframe 作为 class 属性,如何使用 class 函数中的 pandas 来 select 部分?
Dataframe as class attribute, how to select portions of it with pandas in class function?
我有类似的东西
class Cheese(object):
def __init__(self,df):
self.df = df ##df is a pd.DataFrame
我想 self.df 的 select 部分基本上(class 中的一个函数)在一个函数中,让我们说:
def cheese_selection(self, cheez):
dftemp = self.df[self.df['Fromage'] == cheez]
return dftemp
Cheese or no cheese 我正在寻找这个特定问题的答案而不是替代方案 :D - 程序告诉我 class 没有 getitem 但我试图覆盖它,但它以某种方式未能给我非空数据框(将 def getitem(self, key) 中的键声明为 [ 是否有意义? =27=]['Fromage'] == cheez,我不这么认为。当然所有getitem前后都有下划线)
你能给我一个解释和解决方案吗?我想问题出在数据框上——也许它可以与 numpy 一起使用,但我真的在寻找这个具体的答案:D 谢谢。
您的示例运行良好:
class Cheese(object):
def __init__(self,df):
self.df = df ##df is a pd.DataFrame
def cheese_selection(self, cheez):
dftemp = self.df[self.df['Fromage'] == cheez]
return dftemp
当传递一个 DataFrame 时:
In [11]: df = pd.DataFrame([["Cheddar"], ["Stilton"]], columns=["Fromage"])
In [12]: c = Cheese(df)
In [13]: c.cheese_selection("Stilton")
Out[13]:
Fromage
1 Stilton
要使用 __getitem__
等,您必须 subclass DataFrame.
我有类似的东西
class Cheese(object):
def __init__(self,df):
self.df = df ##df is a pd.DataFrame
我想 self.df 的 select 部分基本上(class 中的一个函数)在一个函数中,让我们说:
def cheese_selection(self, cheez):
dftemp = self.df[self.df['Fromage'] == cheez]
return dftemp
Cheese or no cheese 我正在寻找这个特定问题的答案而不是替代方案 :D - 程序告诉我 class 没有 getitem 但我试图覆盖它,但它以某种方式未能给我非空数据框(将 def getitem(self, key) 中的键声明为 [ 是否有意义? =27=]['Fromage'] == cheez,我不这么认为。当然所有getitem前后都有下划线) 你能给我一个解释和解决方案吗?我想问题出在数据框上——也许它可以与 numpy 一起使用,但我真的在寻找这个具体的答案:D 谢谢。
您的示例运行良好:
class Cheese(object):
def __init__(self,df):
self.df = df ##df is a pd.DataFrame
def cheese_selection(self, cheez):
dftemp = self.df[self.df['Fromage'] == cheez]
return dftemp
当传递一个 DataFrame 时:
In [11]: df = pd.DataFrame([["Cheddar"], ["Stilton"]], columns=["Fromage"])
In [12]: c = Cheese(df)
In [13]: c.cheese_selection("Stilton")
Out[13]:
Fromage
1 Stilton
要使用 __getitem__
等,您必须 subclass DataFrame.