Python 使用点符号(如数据帧)访问熊猫系列项目

Python 使用点符号(如数据帧)访问熊猫系列项目,python,pandas,Python,Pandas,是否可以通过点符号而不是括号符号访问系列项目 s = pandas.Series(dict(a=4, b=4)) print s['a'] # works print s.a # fails 我们可以使用DataFrame: df = pandas.DataFrame([dict(a=4, b=4), dict(a=4, b=4)]) print df['a'] # works print df.a # works 不可能。您可以将序列转换为一列数据帧。我通过重载序列来获

是否可以通过点符号而不是括号符号访问系列项目

s = pandas.Series(dict(a=4, b=4))
print s['a']  # works
print s.a     # fails
我们可以使用DataFrame:

df = pandas.DataFrame([dict(a=4, b=4), dict(a=4, b=4)])
print df['a']  # works
print df.a     # works

不可能。您可以将序列转换为一列数据帧。

我通过重载序列来获取行为。\uuuu get\u attr\uuuu方法:

def my__getattr__(self, key):
    # If attribute is in the self Series instance ...
    if key in self:
        # ... return is as an attribute
        return self[key]
    else:
        # ... raise the usual exception
        raise AttributeError("'Series' object has no attribute '%s'" % key)

# Overwrite current Series attributes 'else' case
pandas.Series.__getattr__ = my__getattr__
然后,我可以访问具有以下属性的系列项目:

xx = pandas.Series(dict(a=44, b=55))
xx.a
当然,不是很有效!