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

#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 переменные и.