【Pandas】pandas DataFrame attrs
Pandas2.2 DataFrame
Metadata
方法 | 描述 |
---|---|
DataFrame.attrs | 用于存储与 DataFrame 关联的全局元数据(metadata) |
pandas.DataFrame.attrs
pandas.DataFrame.attrs
是一个字典类型的属性,用于存储与 DataFrame 关联的全局元数据(metadata)。这些元数据不会影响 DataFrame 的计算行为,但可以用来记录一些附加信息,例如数据来源、作者、单位、描述等。
📌 属性说明
- 类型:
dict
(字典) - 默认值:空字典
{}
你可以通过 df.attrs
获取或设置这个字典。
✅ 示例
示例 1: 设置和获取 DataFrame 的 attrs
import pandas as pd# 创建一个 DataFrame
df = pd.DataFrame({'A': [1, 2, 3],'B': [4, 5, 6]
})# 设置 attrs
df.attrs['author'] = 'Alice'
df.attrs['description'] = '实验数据'
df.attrs['unit'] = 'kg'# 打印 attrs
print(df.attrs)
输出:
{'author': 'Alice', 'description': '实验数据', 'unit': 'kg'}
示例 2: 获取单个属性
# 获取单个属性
print(df.attrs['description'])
输出:
实验数据
示例 3: 默认情况下 attrs 是空的
# 新建的 DataFrame 的 attrs 默认为空
df2 = pd.DataFrame({'X': [10, 20]})
print(df2.attrs)
输出:
{}
示例 4: 使用 attrs
在函数间传递元信息
def process_data(data):print(f"处理数据:{data.attrs.get('description', '无描述')}")return data * 2result = process_data(df)
print(result)
输出:
处理数据:实验数据A B
0 2 8
1 4 10
2 6 12
⚠️ 注意事项
attrs
不会参与任何 pandas 操作(如合并、分组、运算等),因此在操作后可能会丢失。- 如果你希望保留
attrs
,建议在自定义函数中手动复制。
✅ 总结
特性 | 说明 |
---|---|
类型 | 字典 dict |
用途 | 存储额外的元数据,如描述、单位、作者等 |
默认 | 空字典 {} |
使用方式 | df.attrs['key'] = value |
注意 | 不会被大多数 pandas 操作保留 |
如果你有更多关于 pandas
元数据或其他特性的疑问,欢迎继续提问!