Ich möchte eine Liste verschiedener Variablennamen aufnehmen und sie alle als Instanzvariablen einer Klasse zuweisen.Weisen Sie den Klasseninstanzen eine Liste zu
Des Weiteren möchte ich diesen Instanzvariablen auch Attribute aus einer Datenbank zuweisen.
Zum Beispiel: Ich habe ein Datenframe mit Kopfzeilen, ('col1', 'col2', 'col3', 'col4'). Jede Zeile sollte eine Klasseninstanz sein, und jede Spalte sollte eine Instanzvariable dieser Klasse sein. Dann sollten die Werte in jeder Zeile jeder Instanzvariablen als Attribute für jede Klasseninstanz zugewiesen werden.
Wie kann ich das erreichen?
hier ist eine Liste von Variablen:
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')
Hier ist ein Beispiel Datenrahmen:
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)
Ist das ziemlich viel ein Duplikat dieser Frage-Antwort: https://stackoverflow.com/questions/1639174/creating-class-instance-properties-from-a-dictionary – Bill
Mögliche Duplikate von [Erstellen von Klasseninstanz-Eigenschaften aus einem Wörterbuch?] (https: //stackoverflow.com/questions/1639174/creating-class-instance-properties-from-a-dictionary) – toonarmycaptain
In diesem Post werden die "Objekte" automatisch aus dem Datenrahmen erstellt. anstatt jedes Objekt einzeln definieren zu müssen. zum Beispiel: '>>> Klasse AllMyFields: ... def __init __ (selbst, Wörterbuch): ... für k, v in dictionary.items(): ... setattr (selbst, k, v) ... >>> o = AllMyFields ({'a': 1, 'b': 2}) >>> oa 1' muss das Objekt als "0" bezeichnen Ich möchte, dass diese Objekte der Index sind dass ich nach Belieben –