Mat*_*ene 1 python class declaration pandas
我正在试验大熊猫.我正在尝试创建一个表示我想要使用的数据的简单对象.为此,我编写了下面的代码来创建一个对象,但我得到了:
TypeError:test_df()缺少1个必需的位置参数:'self
在第13行.我无法弄清楚我做错了什么.也许是关于我没有得到的类声明的概念.任何帮助深表感谢.
import pandas as pd
class ICBC():
def __init__(self, name, path):
self.name = name
self.df = pd.read_csv(path)
def test_df(self):
print(self.df.info)
mov = ICBC("matisalimba3","z:\devs\py\movimientos.csv")
ICBC.test_df() <- This is line 13
Run Code Online (Sandbox Code Playgroud)
一旦创建了类的实例(使用ICBC(...)),就需要test_df在实例上调用方法,而不是类本身.
更改您的代码,以便mov您调用test_df():
import pandas as pd
class ICBC():
def __init__(self, name, path):
self.name = name
self.df = pd.read_csv(path)
def test_df(self):
print(self.df.info)
mov = ICBC("matisalimba3","z:\devs\py\movimientos.csv")
mov.test_df()
Run Code Online (Sandbox Code Playgroud)
为了进一步说明错误告诉您的内容:当您在Python中调用实例上的方法时,self会自动传递参数.但是,ICBC不是实例,所以self不通过.这会导致您看到的参数错误.
此行为意味着您也可以执行此操作来调用该方法:
ICBC.test_df(mov)
Run Code Online (Sandbox Code Playgroud)
然而,没有人这样做:它不被认为是好的做法,因为它使代码更长,更难阅读.
| 归档时间: |
|
| 查看次数: |
425 次 |
| 最近记录: |