所以基本上我想要的是使用这个函数:
def __init__(self, myTuple: tuple):
for i in myTuple:
print(i[1])
self.dzien_tyg = i[1]
self.godz_rozp = i[2]
self.ilosc_godz = i[3]
self.czestatliwosc = i[4]
self.id_prowadzacego = i[5]
self.id_sali = i[6]
self.id_przedmiotu = i[7]
self.rodzaj = i[8]
self.nr_grupy = i[9]
self.id_studia = i[10]
self.nr_semetru = i[11]
self.id_specjalnosci = i[12]
使用此代码:
^{pr2}$我的皮查姆说:
TypeError: __init__() takes 2 positional arguments but 3 were given
“row”看起来怎么样:
(0, dzien 1
godz 1
ilosc 2
tyg 0
id_naucz 52
id_sala 79
id_prz 13
rodz W
grupa 1
id_st 13
sem 1
id_spec 0
Name: 0, dtype: object)
我不知道pycharms在哪里看到这3个参数,以及如何修正它
尝试将
*row
替换为row[1]
:当您
iterrows()
时,从打印中可以看到的每一行都是一个两元素元组,第一个元素是行索引,第二个元素是包含实际数据的Series对象,当您使用*row
时,您会将index和Series对象都传递给构造函数。但是从__init__
定义来看,您似乎只需要row对象。在另外,如果每一行都是一个对象,那么您不需要在
^{pr2}$__init__
中使用for循环,只需对原始代码进行最小的更改:或者,您可以使用实际索引更安全地访问:
相关问题 更多 >
编程相关推荐