Mai*_*and 4 python dataframe pandas
我想向列添加描述,例如我收集数据的数据源。这样的事可能吗?大约 8 年前,有人在“ Adding my own description attribute to a Pandas DataFrame”中提出了类似的问题,但没有答案。
我的代码:
df=
index colA colB
#description from SensorA SensorB # Description row
1
2
3
Run Code Online (Sandbox Code Playgroud)
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"
Run Code Online (Sandbox Code Playgroud)
子类中的设置_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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3370 次 |
| 最近记录: |