如何使用Pandas处理从我自己创建的类加载的数据



我在使用Pandas时遇到了一些小问题。问题是我创建了一个存储类的文件,用于从.csv文件中读取和清除数据。我导入自己的库来加载数据,然后我想使用pandas数据帧进行其他操作。但由于某种原因,我做不到。

因此,以下是我创建的用于加载/读取文件的类的代码:

import pandas as pd
class Load_Data:
def __init__(self, filename):
self.__filename = filename
def load(self): 
df = pd.read_csv(self.__filename)
del df["Remarks"]
df = df.dropna()
return df

在另一个文件中,我试图导入这个自己创建的库用于数据处理步骤,然后尝试使用Pandas DataFrame进行处理。

from Load_Data import Load_Data
import pandas as pd
test_df = Load_Data("Final_file.csv")
test_df.load()

从我的文件中打印目录没有问题。但是,当我尝试将它(test_df(用作Pandas数据帧时,例如,我想按的一些属性分组

test_df.groupby(['width','length])

最后显示:

"加载数据"对象没有属性"groupby">

这意味着如果我想使用groupby函数,我必须在自己的类中自己编写它。但我不想那样做。我只想将我的类转换为Pandas DataFrame,并直接使用它们的包进行一些复杂的操作。

如果能为提供任何帮助,我将不胜感激

您使用类时就好像它是一个函数一样。在load方法内推送返回语句

import pandas as pd
class Load_Data:
def __init__(self, filename):
self.__filename = filename

def load(self): 
df = pd.read_csv(self.__filename)
del df["Remarks"]
df = df.dropna()
return df # this change 

用法:

test_df = Load_Data("Final_file.csv").load() #this change
# or
load_data = Load_Data("Final_file.csv")
test_df = load_data.load()

load返回DataFrame,而不是load_Data实例。

你能分享下一两行抛出错误的代码吗?您引用的是返回的数据,还是类?

df2= test_df.load()
df2.groupby()

test_df.groupby()

你想在panda上创建一个新的数据框架类吗?如果是这样的话,你需要这样的东西(可能有效(

class LoadDF(pd.DataFrame)
def __init__(self, filename):
self.__filename = filename
def load(self): 
df = pd.read_csv(self.__filename)
del df["Remarks"]
df = df.dropna()
self = df

最新更新