如何为pd.DataFrame编写自定义方法,实现预设列的赋值操作?
解决继承pd.DataFrame时自定义方法的赋值问题
因为你继承的是pd.DataFrame类,self本身就是DataFrame实例,不需要额外的self.df属性,直接通过self调用DataFrame的方法或访问列即可。
修正后的代码示例:
import pandas as pd class myDF(pd.DataFrame): def func1(self, row, value): # 用self直接调用at方法完成赋值 self.at[row, "prespecified_column_name"] = value
你也可以用其他DataFrame的赋值方式实现,比如:
# 使用.loc方法 self.loc[row, "prespecified_column_name"] = value # 先定位列再指定行赋值 self["prespecified_column_name"].at[row] = value
这些写法都能直接操作当前myDF实例的指定行与预设列,因为self就代表该DataFrame对象。
内容的提问来源于stack exchange,提问作者Janosch
相关产品推荐
相关产品推荐

