Я пытаюсь загрузить фрейм данных в VSCode только с помощью расширения блокнота, но при попытке отобразить свой фрейм данных получаю следующую ошибку: AttributeError: у объекта «Index» нет атрибута «_format_flat».< /p>
Вот мой код:
import numpy as np
import pandas as pd
df = pd.read_csv("data/European_Soccer_Data.csv")
df
Вот ошибка (выполнена в VSCode с использованием расширения Notebook)
AttributeError Traceback (most recent call last)
File ...\anaconda3\Lib\sitepackages\IPython\core\formatters.py:344, in BaseFormatter.__call__(self, obj)
342 method = get_real_method(obj, self.print_method)
343 if method is not None:
--> 344 return method()
345 return None
346 else:
File ...\anaconda3\Lib\site-packages\pandas\core\frame.py:1136, in _repr_html_(self)
1134 # more generally, whatever we allow in NDArrayBackedExtensionBlock
1135 arr = cast("np.ndarray | DatetimeArray | TimedeltaArray | PeriodArray", arr)
-> 1136 return arr.T
File ...\anaconda3\Lib\site-packages\pandas\io\formats\format.py:1108, in to_html(self, buf, encoding, classes, notebook, border, table_id, render_links)
1079 def format_array(
1080 values: ArrayLike,
1081 formatter: Callable | None,
(...)
1090 fallback_formatter: Callable | None = None,
1091 ) -> list[str]:
1092 """
1093 Format an array for printing.
1094
1095 Parameters
...
609 def _get_columns_formatted_values(self) -> list[str]:
610 # only reached with non-Multi Index
--> 611 return self.columns._format_flat(include_name=False)
AttributeError: 'Index' object has no attribute '_format_flat'
Я считаю, что это ошибка при настройке моих файлов, поскольку я еще не сделал ничего серьезного. Я пошел и посмотрел на функцию, вызывающую эту проблему, и был перенаправлен на файл с именем html.py
, который выполнял:
class NotebookFormatter(HTMLFormatter):
"""
Internal class for formatting output data in html for display in Jupyter
Notebooks. This class is intended for functionality specific to
DataFrame._repr_html_() and DataFrame.to_html(notebook=True)
"""
enter code here
def _get_columns_formatted_values(self) -> list[str]:
# only reached with non-Multi Index
return self.columns._format_flat(include_name=False)
Как видно выше, функция возвращает self.columns._format_flat(...)
Насколько я понимаю Из-за этой проблемы эта функция вызывает свойство, которое не определено в объекте Index, который в настоящее время находится в моей виртуальной среде. Это правильное предположение или я что-то упускаю? Если возможно, может ли кто-нибудь подробнее объяснить эту ошибку и, в конечном итоге, как мне предотвратить возникновение этой ошибки?
Вот образец CSV-файла:
Round,Date,Time,Team,Team_Score,Opponent_Score,Opponent,Home_Score_AET,Away_Score_AET,Home_Penalties,Away_Penalties,Team_Points,Opponent_Points,season,Location,Country,Competition
ROUND 1,31/08/2002,22:30,RACING SANTANDER,0.0,1.0,VALLADOLID,,,,,0.0,3.0,2002,Home,spain,primera-division
ROUND 1,01/09/2002,21:00,RAYO VALLECANO,2.0,2.0,ALAVES,,,,,1.0,1.0,2002,Home,spain,primera-division
ROUND 1,01/09/2002,21:00,REAL SOCIEDAD,4.0,2.0,ATHLETIC BILBAO,,,,,3.0,0.0,2002,Home,spain,primera-division
ROUND 1,01/09/2002,22:00,MALLORCA,0.0,2.0,VALENCIA,,,,,0.0,3.0,2002,Home,spain,primera-division
ROUND 1,01/09/2002,22:30,VILLARREAL,2.0,2.0,OSASUNA,,,,,1.0,1.0,2002,Home,spain,primera-division
ROUND 1,01/09/2002,22:30,RECREATIVO HUELVA,2.0,3.0,MALAGA,,,,,0.0,3.0,2002,Home,spain,primera-division
Подробнее здесь: https://stackoverflow.com/questions/785 ... ormat-flat