我想从从csv创建的pandas dataframe创建一个类。最好的方法是使用@staticmethod吗?这样我就不必为每个对象分别读入 Dataframe
mrphzbgm1#
你不需要@staticmethod。你可以在创建类的示例时传递pandas DataFrame:
@staticmethod
class MyClass: def __init__(self, my_dataframe): self.my_dataframe = my_dataframe a = MyClass(my_dataframe) b = MyClass(my_dataframe)
此时,a和b都可以访问您传递的DataFrame,您不必每次都读取DataFrame。您可以从CSV文件中读取数据一次,创建DataFrame并根据需要构造任意多个类示例(这些示例都可以访问DataFrame)。
a
b
2q5ifsrm2#
我认为您可以在第一个示例中使用a = MyClass(my_dataframe)然后复印一份b = a.copy(deep=True)则B独立于a
a = MyClass(my_dataframe)
b = a.copy(deep=True)
2条答案
按热度按时间mrphzbgm1#
你不需要
@staticmethod
。你可以在创建类的示例时传递pandas DataFrame:此时,
a
和b
都可以访问您传递的DataFrame,您不必每次都读取DataFrame。您可以从CSV文件中读取数据一次,创建DataFrame并根据需要构造任意多个类示例(这些示例都可以访问DataFrame)。2q5ifsrm2#
我认为您可以在第一个示例中使用
a = MyClass(my_dataframe)
然后复印一份
b = a.copy(deep=True)
则B独立于a