擅长:python、mysql、java
<p>我认为除非你还定义了你自己的<code>pd.DataFrame</code>子类,否则你就走运了。这将是一项更艰巨的任务。在</p>
<p>考虑这个例子</p>
<pre><code>df = pd.DataFrame()
s = pd.Series([1, 2, 3])
s.random_attribute = 'hello!'
print(s.random_attribute)
df['A'] = s
print(df.A.random_attribute)
hello!
-
AttributeError Traceback (most recent call last)
<ipython-input-273-e0031d933193> in <module>()
5
6 df['A'] = s
> 7 print(df.A.random_attribute)
//anaconda/envs/3.5/lib/python3.5/site-packages/pandas/core/generic.py in __getattr__(self, name)
2742 if name in self._info_axis:
2743 return self[name]
-> 2744 return object.__getattribute__(self, name)
2745
2746 def __setattr__(self, name, value):
AttributeError: 'Series' object has no attribute 'random_attribute'
</code></pre>
<p><code>df.A</code>不是{<cd3>}。<code>df.A</code>从<code>s</code>构造而忽略它是什么类型。在</p>