如何解决我可以通过在register_dataframe_accessor中注册的我自己的命名空间访问更改后的数据帧的数据吗
使用装饰器@pd.api.extensions.register_dataframe_accessor("my_namespace")
,我们可以向pandas
DataFrame
添加名称空间。与
@pd.api.extensions.register_dataframe_accessor("my_namespace")
class MyNamespace:
def __init__(self,pandas_obj):
self._obj = pandas_obj
def larger_than_zero(self,col):
return all(self._obj[col] > 0)
这很好。但是,当我更改数据框的值时,它没有将其应用于此新方法。所以当我跑步时:
df=pd.DataFrame(dict(a=[1,2,3],b=[3,4,5])
df.my_namespace.larger_then_zero('b')
将返回False
。那我什么时候
df[1,'b']=-1
我希望df.my_namespace.larger_then_zero('b')
返回True
,但不是。它仍然是错误的。它仍然使用原始DataFrame(df [1,'b']为4)。反正有使用更改后的DataFrame吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。