class 的新实例包含提供给旧实例的旧数据

New instance of a class contains older data given to an older instance

我正在尝试使用 python 中的 vader 分析一些评论。我做了一个 Analyzer class 像这样:

class Analyzer:
    dataframe = None
    reviews = []
    
    # other data

    def __init__(self, brand):
        self.dataframe = pd.read_csv(brand) # using pandas
        reviews = self.dataframe['Reviews'].tolist()

    def analyze(self):
        # code for analyze...

    # more codes...

我在 main.py 中使用了这个 class 像这样:

from analyzer import Analyzer

brands = [
    'apple',
    'google',
    'huawei',
    'motorola',
    'nokia',
    'samsung',
    'sony',
    'xiaomi'
]

for brand in brands:
    analysis = Analyzer(brand)
    analysis.analyze()
    del analysis

现在的问题是: 当品牌被提供给 class 进行分析时,较旧的评论将保留在列表中。

例如: apple.csv 有 1000 条评论,google.csv 有 700 条评论。但是当 google 传递给分析器时,reviews 列表长度不是 700,而是 1700。

reviews 属性用于 class 而不是 object,因为您在 class.
的正文中定义了它 在 __init__ 的正文中定义 reviews:

class Analyzer:
    
    # other data

    def __init__(self, brand):
        self.dataframe = pd.read_csv(brand) # using pandas
        self.reviews = self.dataframe['Reviews'].tolist()

    def analyze(self):
        # code for analyze...

    # more codes...