Python Dataframe Menambahkan deskripsi ke kolom

Oct 12 2020

Saya ingin menambahkan deskripsi ke kolom seperti sumber data tempat saya mengumpulkan ini. Apakah hal seperti itu mungkin? Ada pertanyaan serupa yang ditanyakan sekitar 8 tahun yang lalu di Menambahkan atribut deskripsi saya sendiri ke Pandas DataFrame tanpa jawaban.

Kode saya:

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

Jawaban

3 jakub Oct 12 2020 at 19:52

Komentar di pandas-dev / pandas # 2485 menyarankan penggunaan _metadatadan .attrs. Lihathttps://pandas.pydata.org/pandas-docs/stable/development/extending.html#define-original-properties untuk informasi lebih lanjut.

Salah satu cara untuk melakukannya adalah dengan membuat subkelas pandas.DataFramedan menambahkan _metadata.

Tentukan _metadataproperti normal yang akan diteruskan ke hasil manipulasi.

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"

Pengaturan _metadatadi subclass menunjukkan bahwa properti ini harus disebarkan setelah manipulasi. Lihat contoh penggunaan di .head()bawah ini untuk demonstrasi perbedaan antara pd.DataFramedan subclass ini.

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