Python Dataframe Dodanie opisu do kolumny

Oct 12 2020

Chcę dodać opis do kolumny, na przykład źródło danych, z którego to zebrałem. Czy to jest możliwe? Podobne pytanie zadano około 8 lat temu podczas dodawania własnego atrybutu opisu do ramki danych Pandas bez odpowiedzi.

Mój kod:

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

Odpowiedzi

3 jakub Oct 12 2020 at 19:52

Komentarz na temat pandas-dev / pandas # 2485 sugeruje użycie _metadatai .attrs. Widziećhttps://pandas.pydata.org/pandas-docs/stable/development/extending.html#define-original-properties po więcej informacji.

Jednym ze sposobów jest utworzenie podklasy pandas.DataFramei dodanie _metadata.

Zdefiniuj _metadatadla normalnych właściwości, które zostaną przekazane do wyników manipulacji.

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"

Ustawienie _metadataw podklasie wskazuje, że te właściwości powinny być propagowane po manipulacji. Zobacz poniższy przykład, .head()aby zademonstrować różnicę między pd.DataFrametą podklasą.

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