#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']