По этому поводу я рассмотрел здесь различные примеры stackoverflow, но у меня ничего не сработало.
В моем случае два фрейма данных (ЗНАКИ СТУДЕНТОВ). Я должен вычислить среднее из двух и вернуть результат. Это хорошо работает, когда я удаляю столбцы с именами и другими данными о студентах, и вылетает, когда они добавляются.
Это часть того, что у меня есть.
elif self.exam_combo.currentText()=="2":
df2 = QFileDialog.getOpenFileName(MainWindow, 'Upload marks', os.getenv('HOME'), 'CSV(*.csv)')
path = df2[0]
df3 = pd.read_csv(path)
QMessageBox.information(MainWindow,"Successfull","Choose the last set of marks to upload.")
df4 = QFileDialog.getOpenFileName(MainWindow, 'Upload marks', os.getenv('HOME'), 'CSV(*.csv)')
path = df4[0]
df5 = pd.read_csv(path)
dfs = [df3, df5]
df = pd.DataFrame(np.array([x.to_numpy() for x in dfs]).mean(axis=0), index=df3.index, columns=df3.columns)
Это дает ошибку.
Traceback (most recent call last):
File "D:\Python\PyQt5\Proper_1.py", line 1557, in upload_marks
df = pd.DataFrame(np.array([x.to_numpy() for x in dfs]).mean(axis=0), index=df3.index, columns=df3.columns)
File "C:\Users\Links Net\AppData\Local\Programs\Python\Python38-32\lib\site-packages\numpy\core\_methods.py", line 153, in _mean
ret = um.true_divide(
TypeError: unsupported operand type(s) for /: 'str' and 'int'
Я думаю, что это происходит из-за смешивания строк и целых чисел для усреднения системы. Кто-нибудь, чтобы помочь. Еще пробовал
df_concat.groupby(level=0).mean()
и { ссылка }