Поиск ответов на вопрос «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
Что означает «DataFrame.at[source]: TypeError: только целочисленные скалярные массивы могут быть преобразованы в скалярн ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение