Python Dataframe Ajout d'une description à la colonne
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
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