何时在Python中使用数据框中的对象列表?
我有一个字符串列表,它将具有多个属性,例如得分,单词计数,一些布尔值等。我创建了具有这些属性的对象列表。但是我想知道,简单地将每个字符串作为一行创建一个数据帧并将其属性添加为列会更好
class MyObject():
def getString(self):
return self.str_name
def getSimilarity(self):
return self.similarity
def getSimilarityBand(self):
return self.similarity_band
哪个设计更好?
答案 0 :(得分:0)
这非常取决于您的上下文。
如果您要构建的任务是读取一些数据,在这些数据之上进行转换,然后将其写入输出文件/存储桶,则通常使用数据框(例如,熊猫是否适合内存或pyspark(如果需要分发)。原因之一是在应用这些类型的转换时,这些库在幕后做了一些优化,从而使您的工作更高效。
另一方面,如果您要构建具有许多对象层次结构的更复杂的应用程序,或者更紧密地模拟真实世界的事物,您会感觉到定义良好的对象会使代码易于阅读,那么采用对象方法更有意义。
最后,这归结为风格;以及函数式编程与面向对象的编程。 Python位于这些世界的中间,因此很自然会有一些冲突。没有对与错的方法。