#python #pandas #dataframe #cluster-analysis
Вопрос:
У меня есть вопрос…
Я запрограммировал их:
# Dependencies
import pandas as pd
from numpy import where
from matplotlib import pyplot
# Load Data
names = [“Frequency”,”Comments Count”,”Likes Count”,”Text nwords”]
dataset = pd.read_csv(“Posts.csv”, encoding=”utf-8″, sep=”;”, delimiter=None,
names=names, delim_whitespace=False,
header=0, engine=”python”)
X = dataset.values[:,0:2]
y = dataset.values[:,3]
# Explore Data
print(dataset.shape)
print(dataset.head(10))
print(dataset.describe())
print(dataset.dtypes)
X,y = dataset(n_samples=100, n_features=4, n_informative=4, n_redundant=0, n_clusters_per_class=1, random_state=4)
# create scatter plot for samples from each class
for class_value in range(3):
# get row indexes for samples with this class
row_ix = where(y == class_value)
# create scatter of these samples
pyplot.scatter(X[row_ix, 0], X[row_ix, 3])
# show the plot
pyplot.show()
Я получаю эту ошибку :
Traceback (most recent call last):
File “C:/Users/USER/pythonProject/main.py”, line 44, in
X,y = dataset(n_samples=100, n_features=4, n_informative=4, n_redundant=0, n_clusters_per_class=1, random_state=4)
TypeError: ‘DataFrame’ object is not callable
Есть какие-нибудь идеи? Что я могу сделать?
Я думаю, что проблема в «загрузке данных». Как я могу вставить свой собственный набор данных?
Заранее благодарю вас!!
София
Комментарии:
1. Ошибка, по-видимому, находится в строке 44 (или строке 21 вашего опубликованного кода). Откуда ты берешь
n_samples
,n_features
,n_informative
,n_redundant
илиn_clusters_per_class
откуда? Похоже, это не является частью фрейма данных Pandas. Можете ли вы привести пример одной строки для ввода CSV?2. @MattB Первая строка моего CSV: 10;4290;148663;150
Ответ №1:
Сделав это:
dataset = pd.read_csv(“Posts.csv”, encoding=”utf-8″, sep=”;”, delimiter=None,
names=names, delim_whitespace=False,
header=0, engine=”python”)
Вы создаете фрейм данных pandas, который считывается из файла CSV и сохраняется в переменной с именем dataset
.
Позже вы пытаетесь позвонить dataset
и передать ему кучу аргументов:
X,y = dataset(n_samples=100, n_features=4, n_informative=4, n_redundant=0, n_clusters_per_class=1, random_state=4)
Но так dataset
как это объект фрейма данных pandas, а не функция, вы не можете его вызвать, поэтому вы получаете ошибку.
Вероятно, вы захотите вызвать какую-либо другую функцию, которая примет эти параметры и вернет кортеж из двух значений, которым вы пытаетесь присвоить X
y
переменные и.