Как решить ValueError: значение истины - PullRequest
0 голосов
/ 02 мая 2019

У меня есть файл данных, из которого столбцы данных выбираются с помощью панд.Затем я использую данные из этого столбца, чтобы построить их на графике рассеяния, используя matplotlib, но получаю ошибку, которая говорит: ValueError: Истинное значение Series является неоднозначным.Используйте a.empty, a.bool (), a.item (), a.any () или a.all ().

Я уже искал эту проблему в StackOverflow, но они не относятся кпостроение данных

# Getting data from column that user selects
variable1 = location_data.iloc[0:-1, columnPosition1]
variable2 = location_data.iloc[0:-1, columnPosition2]

# Converting data from variable1 and 2 to float and storing in list called x & y
for xValue in variable1:
    x.append(float(xValue))

for yValue in variable2:
    y.append(float(yValue))


# x and y are lists which hold data from excel file
# Error begins here
plt.scatter(x, y, marker='o')
plt.xlabel(variable1, fontsize = 15)
plt.ylabel(variable2, fontsize = 15)
plt.title('A graph of ' + variable1 + ' and ' + variable2)
Traceback (most recent call last):
  File "F:\Computer Science\NEA\Code\Coursework.py", line 115, in <module>
    plot_data(variable1, variable2)
  File "F:\Computer Science\NEA\Code\Coursework.py", line 96, in plot_data
    plt.xlabel(variable1, fontsize = 15)
  File "C:\Users\Naima\AppData\Local\Programs\Python\Python37-32\lib\site-packages\matplotlib\pyplot.py", line 3065, in xlabel
    xlabel, fontdict=fontdict, labelpad=labelpad, **kwargs)
  File "C:\Users\Naima\AppData\Local\Programs\Python\Python37-32\lib\site-packages\matplotlib\axes\_axes.py", line 265, in set_xlabel
    return self.xaxis.set_label_text(xlabel, fontdict, **kwargs)
  File "C:\Users\Naima\AppData\Local\Programs\Python\Python37-32\lib\site-packages\matplotlib\axis.py", line 1564, in set_label_text
    self.label.set_text(label)
  File "C:\Users\Naima\AppData\Local\Programs\Python\Python37-32\lib\site-packages\matplotlib\text.py", line 1191, in set_text
    if s != self._text:
  File "C:\Users\Naima\AppData\Local\Programs\Python\Python37-32\lib\site-packages\pandas\core\generic.py", line 1478, in __nonzero__
    .format(self.__class__.__name__))
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().

1 Ответ

1 голос
/ 03 мая 2019

Вы устанавливаете свои данные серия в качестве метки строка :

plt.xlabel(variable1, fontsize = 15)

Поскольку plt.xlabel и plt.ylabel не проверяют типметка, они заглушаются при попытке обработать вашу серию как строку.

Вместо этого установите в качестве метки явную строку:

plt.xlabel("The X Axis", fontsize = 15)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...