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

ความคิดเห็นเกี่ยวกับหมีแพนด้า-dev / นุ่น # 2485แนะนำให้ใช้และ_metadata .attrsดูhttps://pandas.pydata.org/pandas-docs/stable/development/extending.html#define-original-properties สำหรับข้อมูลเพิ่มเติม.

วิธีหนึ่งที่จะทำเช่นนี้คือการ subclass และเพิ่ม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