gpt4 book ai didi

python - 将 _metadata 从 DataFrame 传播到 Series

转载 作者:太空宇宙 更新时间:2023-11-03 18:08:25 25 4
gpt4 key购买 nike

我希望能够存储 DataFrame 每一列的“单位”信息,并具有以下代码(uisng pandas v 0.14.1):

import pandas as pd
import numpy as np
import copy

# Monkey path Series:
pd.Series._metadata.append('units')

# Test it
df = pd.DataFrame(data=np.random.randn(5,2), columns=['A', 'B'])
df['A'].units = 's'
df['B'].units = 'm'

s = df['A']
print s.units # produces 's' as expected / desired

s = copy.copy(df['A'])
print s.units # crash, attribute does not exists
print s._metadata # produces ['name', 'units'] as expected

显然元数据没有正确传播。这是故意的还是错误?如果有意的话可以采取什么措施来实现这项工作?

最佳答案

copy.copy(...) 目前适用于 pandas 对象,但该机制不保留元数据。

这是一个issue来实现这一点。

一个简单的解决方法就是使用 s.copy() 来保留元数据。

这是一个issue更完整地记录如何做到这一点。

关于python - 将 _metadata 从 DataFrame 传播到 Series,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26421221/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com