DataFrame の各列の「ユニット」情報を保存し、次のコードを使用できるようにしたい (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
どうやらメタデータが適切に反映されていないようです。これは意図的なものですか、それともバグですか? 意図的な場合、これを機能させるために何ができるでしょうか?