擅长:python、mysql、java
<p>对于任何有类似需求的人来说:我认为最好的解决方案是定义<code>DataFrame</code>的子类并使用<code>__getitem__</code>逻辑进行干预。在</p>
<p>我最初的问题是基于这样一个假设:一个<code>DataFrame</code>被实现为一个容器,而实际上它不是。。。在</p>
<pre><code>>>> from pandas import Series, DataFrame
>>> s = Series([1, 2, 3, 4], name='x')
>>> df = DataFrame(s)
>>> s is df.x
False
</code></pre>
<p>因此,为了检索作为<code>Series</code>的子类的列,您需要修改<code>__getitem__</code>。在</p>
<p>我已经在我自己的包中实现了这一点,可以作为一个例子:<a href="https://github.com/jmackie4/activityio/blob/master/activityio/_util/types.py" rel="nofollow noreferrer">https://github.com/jmackie4/activityio/blob/master/activityio/_util/types.py</a></p>
<p>不过,我很想听到任何人有一个更优雅的解决方案!在</p>