Python Dataframe Ajout d'une description à la colonne

Oct 12 2020

Je souhaite ajouter une description à une colonne comme la source des données à partir de laquelle j'ai collecté cela. Une telle chose est-elle possible? Une question similaire a été posée il y a environ 8 ans sur Ajout de mon propre attribut de description à un Pandas DataFrame sans réponse.

Mon code:

df=
     
index            colA          colB
#description     from SensorA   SensorB   # Description row 
1
2
3

Réponses

3 jakub Oct 12 2020 at 19:52

Un commentaire sur pandas-dev / pandas # 2485 suggère d'utiliser _metadataet .attrs. Voirhttps://pandas.pydata.org/pandas-docs/stable/development/extending.html#define-original-properties pour plus d'informations.

Une façon de procéder consiste à sous pandas.DataFrame- classer et à ajouter _metadata.

Définissez _metadatales propriétés normales qui seront transmises aux résultats de la manipulation.

import pandas as pd

class SubclassedDataFrame(pd.DataFrame):

    # normal properties
    _metadata = ['description']

    @property
    def _constructor(self):
        return SubclassedDataFrame

data = {"a": [1, 2, 3], "b": [10, 12, 13]}

df = SubclassedDataFrame(data)

df.description = "About my data"

La définition _metadatadans la sous-classe indique que ces propriétés doivent être propagées après manipulation. Voir l'exemple .head()ci-dessous pour une démonstration de la différence entre pd.DataFrameet cette sous-classe.

data = {"a": [1, 2, 3], "b": [10, 12, 13]}

df = SubclassedDataFrame(data)
df.description = "About my data"
df.head().description  # prints 'About my data'

df_orig = pd.DataFrame(data)
df_orig.description = "About my data"
df_orig.head().description  # raises AttributeError