我想採取各種變量名稱的列表,並指定它們作爲實例變量的類。分配列表類的實例
此外,我也想從數據庫屬性分配給這些實例變量。
例如:我有一個標頭數據幀,( 'COL1', 'COL2', 'COL3', 'COL4')。每行應該是一個類實例,每一列應該是該類的實例變量。然後,每行中的值,應分配給每個實例變量爲每個類實例的屬性。
我怎樣才能做到這一點?
這裏的變量列表:
Index(['Id', 'MSSubClass', 'MSZoning', 'LotFrontage', 'LotArea', 'Street',
'Alley', 'LotShape', 'LandContour', 'Utilities', 'LotConfig',
'LandSlope', 'Neighborhood', 'Condition1', 'Condition2', 'BldgType',
'HouseStyle', 'OverallQual', 'OverallCond', 'YearBuilt', 'YearRemodAdd',
'RoofStyle', 'RoofMatl', 'Exterior1st', 'Exterior2nd', 'MasVnrType',
'MasVnrArea', 'ExterQual', 'ExterCond', 'Foundation', 'BsmtQual',
'BsmtCond', 'BsmtExposure', 'BsmtFinType1', 'BsmtFinSF1',
'BsmtFinType2', 'BsmtFinSF2', 'BsmtUnfSF', 'TotalBsmtSF', 'Heating',
'HeatingQC', 'CentralAir', 'Electrical', '1stFlrSF', '2ndFlrSF',
'LowQualFinSF', 'GrLivArea', 'BsmtFullBath', 'BsmtHalfBath', 'FullBath',
'HalfBath', 'BedroomAbvGr', 'KitchenAbvGr', 'KitchenQual',
'TotRmsAbvGrd', 'Functional', 'Fireplaces', 'FireplaceQu', 'GarageType',
'GarageYrBlt', 'GarageFinish', 'GarageCars', 'GarageArea', 'GarageQual',
'GarageCond', 'PavedDrive', 'WoodDeckSF', 'OpenPorchSF',
'EnclosedPorch', '3SsnPorch', 'ScreenPorch', 'PoolArea', 'PoolQC',
'Fence', 'MiscFeature', 'MiscVal', 'MoSold', 'YrSold', 'SaleType',
'SaleCondition', 'SalePrice'],
dtype='object')
下面是一個例子數據框:
import pandas as pd
from numpy import nan
d = {'name' : pd.Series(['steve', 'jeff', 'bob'], index=['1', '2', '3']),
....: 'salary' : pd.Series([34, 85, 213], index=['1', '2', '3']), 'male' : pd.Series([1, nan, 0], index=['1', '2', '3']), 'score' : pd.Series([1.46, 0.8, 3.], index=['1', '2', '3'])}
df = pd.DataFrame(d)
這是非常這個問題回答的一個副本:https://stackoverflow.com/questions/1639174/creating-class-instance-properties-from-a-dictionary – Bill
[從字典中創建類的實例屬性?]的可能的複製(HTTPS: //stackoverflow.com/questions/1639174/creating-class-instance-properties-from-a-dictionary) – toonarmycaptain
在這個帖子中,「物」會自動從數據幀創建。而不必單獨定義每個對象。例如:'>>>類AllMyFields: ... DEF __init __(個體,字典): ...爲K,V在dictionary.items(): ... SETATTR(個體,K,V) ... >>> O = AllMyFields({ 'A':1, 'b':2}) >>> OA 1'具有爲 「0」 我想這些對象是索引命名對象我可以隨意 –