1 回答

TA貢獻(xiàn)1818條經(jīng)驗 獲得超11個贊
你不能。實(shí)際上,您正在處理表格數(shù)據(jù)。python 中用于處理表格數(shù)據(jù)的標(biāo)準(zhǔn)(如最流行的非標(biāo)準(zhǔn)庫)包是pandas,因此您可以執(zhí)行以下操作:
import pandas as pd
df = pd.DataFrame([d.__dict__ for d in data])
normalized_df = (df-df.mean())/df.std() # example normalization
如果您堅持處理對象數(shù)組而不是表,您可以編寫一個類來執(zhí)行所需的轉(zhuǎn)換以縮短符號,例如類似
class ObjectList:
def __init__(self, object_type, records):
self.objects = [object_type(**record) for record in records]
def to_data_frame(self):
return pd.DataFrame([d.__dict__ for d in self.objects])
class PersonList(ObjectList):
def __init__(self, records):
super().__init__(Person, records)
上面假設(shè)class Person有一個接受參數(shù), ,__init__的函數(shù)。heightageweight
您還可以嘗試通過重載運(yùn)算符來進(jìn)一步縮短符號,但除非您正在編寫庫代碼,否則我不明白您為什么要這樣做。
添加回答
舉報