Ошибка типа: объект «Фрейм данных» не может быть вызван

#python #streamlit

Вопрос:

Я пытался разделить набор данных на обучающие и тестовые данные для развертывания с помощью Streamlit.

 import streamlit as st
import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split, KFold,cross_val_score
from sklearn.cluster import KMeans
import xgboost as xgb
from xgboost import XGBClassifier


def load_dataset():
    df = pd.read_csv('txn.csv')
    return df

df = load_dataset()


#create X and y, X will be feature set and y is the label - LTV
X = df.drop(['LTVCluster','m1_Revenue'],axis=1)
y = df(['LTVCluster'])
 

Но я получаю эту ошибку при выполнении файла:

Ошибка типа: объект «Фрейм данных» не может быть вызван

 Traceback:
File "c:usersanishanaconda3libsite-packagesstreamlitscript_runner.py", line 333, in _run_script
    exec(code, module.__dict__)

File "C:UsersAnishDesktopmyenvP52 - Retail Ecommercenew1.py", line 25, in <module>
    y = df(['LTVCluster'],axis=1)
 

В чем может быть ошибка??

Ответ №1:

У вас есть дополнительный набор скобок в последней строке, поэтому Python думает, что вы звоните df . Для фильтрации по столбцам в Панд вы используете квадратные скобки, поэтому удалите круглые скобки.

 y = df['LTVCluster']
 

Ответ №2:

Чтобы выбрать столбец, удалите () из df(['LTVCluster']) :

 y = df['LTVCluster']