Что означает «DataFrame.at[source]: TypeError: только целочисленные скалярные массивы могут быть преобразованы в скалярнPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Что означает «DataFrame.at[source]: TypeError: только целочисленные скалярные массивы могут быть преобразованы в скалярн

Сообщение Anonymous »

Поиск ответов на вопрос «dataframe. at TypeError: только целочисленные скалярные массивы могут быть преобразованы в скалярный индекс» привел к ответу: «Мы не смогли ничего найти для dataframe. at typeerror: только целочисленные скалярные массивы могут быть преобразованы в скалярные значения». index».
Поиск с менее строгими правилами дал результаты, которые потребовали от меня поиска по запросу «.at» тоже ничего не дали. Конечно, это может быть связано с моими условиями поиска.
Может ли кто-нибудь точно объяснить, что это значит, в терминах, понятных непрограммисту?

"свойство DataFrame.at[source]: TypeError: только целочисленные скалярные массивы
могут быть преобразованы в скалярный индекс"

На веб-сайте pandas указано следующее:

pandas.DataFrame.at свойство DataFrame.at[source] Доступ к одному
значению для пара меток строка/столбец.

Это кажется очевидным и, следовательно, простым в использовании. Однако следующий фрагмент кода:

Код: Выделить всё

col = str(currentyr)
print('col = ' + str(col))
row = str(currentmonth) + 'UTtotal'
print('row = ' + str(row))
DTduration = df_total.at[row, col]
print('row / col (' + str(row) + ' / ' + str(col) + ') =\n' + str(DTduration))
выдает следующую ошибку:

Код: Выделить всё

"TypeError                                 Traceback (most recent call last)
Cell In[1], line 269
266     monthlyUT()
268     #deal with monthly downtimes
--> 269     monthlyDT(faultindexfirst, faultindexlast)
271     framenum += 1
273 elif framestartyear == currentyr & frameendyear == currentyr + 1:
274         #the currently selected frame straddles two years

Cell In[1], line 46
44     print('row = ' + str(row))
45 #    DTduration = df_total.loc[row, col]
---> 46     DTduration = df_total.at[row, col]
47     print('row / col (' + str(row) + ' / ' + str(col) + ') =\n' + str(DTduration))
48     row = str(currentmonth) + 'Eventstotal'"
faultindexfirst, errorindexlast, currentyr и currentmonth — целые числа. Я пытаюсь получить доступ к определенным данным в кадре данных:

Код: Выделить всё

                      2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023  \
UTtotal        2311.933333  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN
DTtotal                NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN
Eventstotal            NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN
1UTtotal               NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN
1DTtotal               NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN
1Eventstotal           NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN
.
.
.
11Eventstotal          NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN
12UTtotal              NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN
12DTtotal              NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN
12Eventstotal          NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN
В этом случае мне нужно заполнить эту таблицу действительными данными, но сайт pandas не предоставляет никакой информации, которую я понимаю достаточно, чтобы устранить эту ошибку. Операторы печати успешно выполнили следующее:

Код: Выделить всё

col = 2013
row = 9UTtotal
Заранее спасибо, Джефф

Подробнее здесь: https://stackoverflow.com/questions/791 ... -can-be-co
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»