Accès à la propriété d'objet stocké dans dataframe

notverygood:
class Eq(object):
    price = 2

    # The class "constructor" - It's actually an initializer 
    def __init__(self, price):
        self.price = price

    def get_price():
        return price

d = {'name': ['cac40', 'ftse100'], 'col2': [Eq, Eq]}
df = pd.DataFrame(data=d)

Le construit au dessus d' un récipient contenant trame de données dans col2,

Je voudrais accéder à la propriété des prix de mes objets, et le mettre dans une nouvelle colonne de mon dataframe.

Je ne peux pas l'air d'être en mesure d'accéder à l'objet même.

Je suis le plus proche est df['price'] = df['col2'].values[0].price, mais bien sûr , cela n'obtient la propriété prix de la première rangée.

Comment puis-je obtenir le prix pour toutes les lignes?

Merci

LTheriault:

En général, si vous essayez de créer une nouvelle colonne dans une trame de données et méthodes comme celle-ci ne fonctionnent pas, ce n'est pas une mauvaise idée de chercher un moyen d'utiliser la fonction « appliquer ». Vous devriez être en mesure d'aborder le problème de cette façon:

df['price'] = df['col2'].apply(lambda x: x.price)

Bien que cela vous fait ce que vous voulez, pourquoi vous stockez votre objet directement dans le dataframe? Il pourrait y avoir une façon plus optimale pour obtenir des données de vos objets en elle en fonction de votre raisonnement.

Je suppose que tu aimes

Origine http://43.154.161.224:23101/article/api/json?id=278095&siteId=1
conseillé
Classement