Python Dataframe Добавление описания в столбец

Oct 12 2020

Я хочу добавить описание к столбцу, например, к источнику данных, из которого я его собрал. Возможно ли такое? Примерно 8 лет назад был задан аналогичный вопрос при добавлении моего собственного атрибута описания в Pandas DataFrame без ответа.

Мой код:

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

Ответы

3 jakub Oct 12 2020 at 19:52

Комментарий к pandas-dev / pandas # 2485 предлагает использовать _metadataи .attrs. Видетьhttps://pandas.pydata.org/pandas-docs/stable/development/extending.html#define-original-properties для дополнительной информации.

Один из способов сделать это - создать подкласс pandas.DataFrameи добавить _metadata.

Определите _metadataдля обычных свойств, которые будут переданы в результаты манипуляции.

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"

Установка _metadataв подклассе указывает, что эти свойства должны быть распространены после манипуляции. См. Пример использования .head()ниже, чтобы продемонстрировать разницу между pd.DataFrameи этим подклассом.

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