Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python _元数据从数据帧到系列的传播_Python_Pandas_Metadata_Dataframe_Propagation - Fatal编程技术网

Python _元数据从数据帧到系列的传播

Python _元数据从数据帧到系列的传播,python,pandas,metadata,dataframe,propagation,Python,Pandas,Metadata,Dataframe,Propagation,我希望能够为数据帧的每一列存储“单位”信息,并具有以下代码(uisng pandas v 0.14.1): 显然,元数据没有正确传播。 这是故意的还是错误? 如果有意的话,可以做些什么来实现这一点?copy.copy(…)目前可以在pandas对象上工作,但该机制不会保留元数据 下面是实现这一点的方法 一个简单的解决方法是使用s.copy(),这将保留元数据 下面是一个更完整的文档,说明如何执行此操作。使用s.copy()将允许执行此操作。二工作;这可能是一个错误,_u; copy__;没有传播

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

显然,元数据没有正确传播。 这是故意的还是错误? 如果有意的话,可以做些什么来实现这一点?

copy.copy(…)
目前可以在pandas对象上工作,但该机制不会保留元数据

下面是实现这一点的方法

一个简单的解决方法是使用
s.copy()
,这将保留元数据

下面是一个更完整的文档,说明如何执行此操作。

使用s.copy()将允许执行此操作。二工作;这可能是一个错误,_u; copy__;没有传播(这就是copy.copy调用的)
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