简体   繁体   English

扩展 pandas 时遇到问题

[英]having trouble extending pandas

I'm trying the "Extend pandas" functionality but can't seem to get it to work.我正在尝试“扩展熊猫”功能,但似乎无法让它工作。 I'm trying to follow the example provided by pandas.我正在尝试遵循 pandas 提供的示例。

Link 关联

Heres my code so far with fake data到目前为止,我的代码是假数据

import pandas as pd
data =pd.DataFrame({'ID1':[1,2], 'ID2':[3,4], 'value':[5,6]})
@pd.api.extensions.register_dataframe_accessor("ext")
class my_extension:
    def __init__(self, pandas_obj):
        self.dataset = pandas_obj
    @property
    def retrieve_ID(self, ID):
        return self[self['ID1']==ID]

    def method2(self, ID):
        return self[self['ID2']==ID]

Basically, the end result that I want is for me to type "data.ext."基本上,我想要的最终结果是输入“data.ext”。 and hit tab and see retrieve_ID and method2 as an option for my functions并点击选项卡并查看retrieve_ID 和method2 作为我的功能的一个选项

Pretty sure you are missing the self.dataset part (and don't think you need the @property there).很确定您缺少self.dataset部分(并且认为您不需要那里的@property )。 Btw this should work:顺便说一句,这应该工作:

import pandas as pd
data =pd.DataFrame({'ID1':[1,2], 'ID2':[3,4], 'value':[5,6]})
@pd.api.extensions.register_dataframe_accessor("ext")
class my_extension:
    def __init__(self, pandas_obj):
        self.dataset = pandas_obj
    #@property
    def retrieve_ID(self, ID):
        return self.dataset[self.dataset['ID1']==ID]

    def method2(self, ID):
        return self.dataset[self.dataset['ID2']==ID]

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM