Khung dữ liệu Python Thêm mô tả vào cột

Oct 12 2020

Tôi muốn thêm mô tả vào một cột như nguồn dữ liệu từ nơi tôi thu thập thông tin này. Điều đó là có thể? Có một câu hỏi tương tự được hỏi khoảng 8 năm trước tại Thêm thuộc tính mô tả của riêng tôi vào Pandas DataFrame mà không có câu trả lời.

Mã của tôi:

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

Trả lời

3 jakub Oct 12 2020 at 19:52

Nhận xét về pandas-dev / pandas # 2485 đề xuất sử dụng _metadatavà .attrs. Xemhttps://pandas.pydata.org/pandas-docs/stable/development/extending.html#define-original-properties để biết thêm thông tin.

Một cách để làm điều này là phân lớp pandas.DataFramevà thêm _metadata.

Xác định _metadatacác thuộc tính bình thường sẽ được chuyển đến kết quả thao tác.

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"

Thiết lập _metadatatrong lớp con chỉ ra rằng các thuộc tính này nên được truyền sau khi thao tác. Xem ví dụ sử dụng .head()bên dưới để biết sự khác biệt giữa pd.DataFramevà lớp con này.

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