Python 为什么Geopandas数据帧返回索引错误

Python 为什么Geopandas数据帧返回索引错误,python,pandas,geopandas,Python,Pandas,Geopandas,我在VS代码笔记本中使用Geopandas0.6.1和Pandas1.0.0。今天工作时,我很惊讶在看似有效的geopandas数据帧上调用geopandas函数head(),导致了以下错误 gpd.columns和gpd.shape等方法正常工作并返回预期结果。iloc返回预期的记录。例如: for item in new_west_df.columns.values.tolist(): print(item) TYPE NWID LICENCE TRADE_NAME LICENCE

我在VS代码笔记本中使用Geopandas0.6.1和Pandas1.0.0。今天工作时,我很惊讶在看似有效的geopandas数据帧上调用geopandas函数head(),导致了以下错误

gpd.columns和gpd.shape等方法正常工作并返回预期结果。iloc返回预期的记录。例如:

for item in new_west_df.columns.values.tolist():
    print(item)

TYPE
NWID
LICENCE
TRADE_NAME
LICENCEE_NAME
CIVIC_ADDRESS
LICENCE_DESCRIPTION
YEAR_OPENED
APPROVED_DATE
SIC
SIC_GROUP
CIVIC_POSTAL_CODE
geometry
但是,columns()和.geometry会导致以下错误。在我对问题的研究中,没有一个场景与这些情况类似,阅读错误我无法理解根本原因

IndexError                                Traceback (most recent call last)
/Library/Frameworks/anaconda3/envs/vm/lib/python3.7/site-packages/IPython/core/formatters.py in __call__(self, obj)
    700                 type_pprinters=self.type_printers,
    701                 deferred_pprinters=self.deferred_printers)
--> 702             printer.pretty(obj)
    703             printer.flush()
    704             return stream.getvalue()

/Library/Frameworks/anaconda3/envs/vm/lib/python3.7/site-packages/IPython/lib/pretty.py in pretty(self, obj)
    397                         if cls is not object \
    398                                 and callable(cls.__dict__.get('__repr__')):
--> 399                             return _repr_pprint(obj, self, cycle)
    400 
    401             return _default_pprint(obj, self, cycle)

/Library/Frameworks/anaconda3/envs/vm/lib/python3.7/site-packages/IPython/lib/pretty.py in _repr_pprint(obj, p, cycle)
    687     """A pprint that just redirects to the normal repr function."""
    688     # Find newlines and replace them with p.break_()
--> 689     output = repr(obj)
    690     for idx,output_line in enumerate(output.splitlines()):
    691         if idx:

/Library/Frameworks/anaconda3/envs/vm/lib/python3.7/site-packages/pandas/core/series.py in __repr__(self)
   1370             min_rows=min_rows,
   1371             max_rows=max_rows,
-> 1372             length=show_dimensions,
   1373         )
   1374         result = buf.getvalue()

/Library/Frameworks/anaconda3/envs/vm/lib/python3.7/site-packages/pandas/core/series.py in to_string(self, buf, na_rep, float_format, header, index, length, dtype, name, max_rows, min_rows)
   1436             max_rows=max_rows,
   1437         )
-> 1438         result = formatter.to_string()
   1439 
   1440         # catch contract violations

/Library/Frameworks/anaconda3/envs/vm/lib/python3.7/site-packages/pandas/io/formats/format.py in to_string(self)
    359 
    360         fmt_index, have_header = self._get_formatted_index()
--> 361         fmt_values = self._get_formatted_values()
    362 
    363         if self.truncate_v:

/Library/Frameworks/anaconda3/envs/vm/lib/python3.7/site-packages/pandas/io/formats/format.py in _get_formatted_values(self)
    346             None,
    347             float_format=self.float_format,
--> 348             na_rep=self.na_rep,
    349         )
    350 

/Library/Frameworks/anaconda3/envs/vm/lib/python3.7/site-packages/pandas/io/formats/format.py in format_array(values, formatter, float_format, na_rep, digits, space, justify, decimal, leading_space)
   1172     )
   1173 
-> 1174     return fmt_obj.get_result()
   1175 
   1176 

/Library/Frameworks/anaconda3/envs/vm/lib/python3.7/site-packages/pandas/io/formats/format.py in get_result(self)
   1203 
   1204     def get_result(self) -> List[str]:
-> 1205         fmt_values = self._format_strings()
   1206         return _make_fixed_width(fmt_values, self.justify)
   1207 

/Library/Frameworks/anaconda3/envs/vm/lib/python3.7/site-packages/pandas/io/formats/format.py in _format_strings(self)
   1483             values = values._values
   1484 
-> 1485         formatter = values._formatter(boxed=True)
   1486 
   1487         if is_categorical_dtype(values.dtype):

/Library/Frameworks/anaconda3/envs/vm/lib/python3.7/site-packages/geopandas/array.py in _formatter(self, boxed)
   1009                 # dummy heuristic based on 10 first geometries that should
   1010                 # work in most cases
-> 1011                 xmin, ymin, xmax, ymax = self[~self.isna()][:10].total_bounds
   1012                 if (
   1013                     (-180 <= xmin <= 180)

/Library/Frameworks/anaconda3/envs/vm/lib/python3.7/site-packages/geopandas/array.py in total_bounds(self)
    750         return np.array(
    751             (
--> 752                 b[:, 0].min(),  # minx
    753                 b[:, 1].min(),  # miny
    754                 b[:, 2].max(),  # maxx

IndexError: too many indices for array
索引器错误回溯(最近一次调用)
/Library/Frameworks/anaconda3/envs/vm/lib/python3.7/site-packages/IPython/core/formatters.py in_u_调用(self,obj)
700 type\u PPRINTS=self.type\u打印机,
701延迟的打印机=自延迟的打印机)
-->702打印机。漂亮(obj)
703打印机。刷新()
704返回流。getvalue()
/pretty中的Library/Frameworks/anaconda3/envs/vm/lib/python3.7/site-packages/IPython/lib/pretty.py(self,obj)
397如果cls不是对象\
398和可调用(cls.dict.get(“报告”):
-->399返回报告(obj、自我、循环)
400
401返回默认值(对象、自身、循环)
/Library/Frameworks/anaconda3/envs/vm/lib/python3.7/site-packages/IPython/lib/pretty.py in_repr_pprint(obj,p,cycle)
687“一个仅重定向到普通repr函数的pprint。”“”
688#找到换行符并替换为p.break()
-->689输出=报告(obj)
690对于idx,枚举中的输出_行(output.splitlines()):
691如果idx:
/Library/Frameworks/anaconda3/envs/vm/lib/python3.7/site-packages/pandas/core/series.py in_____repr_____(self)
1370最小行=最小行,
1371最大行数=最大行数,
->1372长度=显示尺寸,
1373         )
1374结果=buf.getvalue()
/Library/Frameworks/anaconda3/envs/vm/lib/python3.7/site-packages/pandas/core/series.py in to_字符串(self、buf、na_rep、float_格式、标题、索引、长度、数据类型、名称、最大行数、最小行数)
1436最大行数=最大行数,
1437         )
->1438 result=formatter.to_string()
1439
1440#发现违反合同的行为
/Library/Frameworks/anaconda3/envs/vm/lib/python3.7/site-packages/pandas/io/formats/format.py in to_string(self)
359
360 fmt\u索引,have\u header=self.\u获取\u格式化的\u索引()
-->361 fmt\u values=self.\u获取格式化的\u值()
362
363如果自截断_v:
/Library/Frameworks/anaconda3/envs/vm/lib/python3.7/site-packages/pandas/io/formats/format.py in\u get\u formatted\u values(self)
346无,
347 float_格式=self.float_格式,
-->348 na_rep=self.na_rep,
349         )
350
/格式数组中的Library/Frameworks/anaconda3/envs/vm/lib/python3.7/site-packages/pandas/io/formats/format.py(值、格式化程序、浮点格式、na_rep、数字、空格、对齐、十进制、前导空格)
1172     )
1173
->1174返回fmt_对象获取结果()
1175
1176
/get_result(self)中的Library/Frameworks/anaconda3/envs/vm/lib/python3.7/site-packages/pandas/io/formats/format.py
1203
1204 def get_结果(自身)->列表[str]:
->1205 fmt_值=自身。_格式_字符串()
1206返回固定宽度(fmt值,自调整)
1207
/Library/Frameworks/anaconda3/envs/vm/lib/python3.7/site-packages/pandas/io/formats/format.py格式字符串(self)
1483值=值。\u值
1484
->1485格式化程序=值。\格式化程序(装箱=真)
1486
1487如果是分类类型(values.dtype):
/Library/Frameworks/anaconda3/envs/vm/lib/python3.7/site-packages/geopandas/array.py in_格式化程序(self,装箱)
1009#基于10个应
1010#在大多数情况下有效
->1011 xmin,ymin,xmax,ymax=self[~self.isna()][:10]。总边界
1012如果(

1013(-180这是GeoPandas 0.6.2()中修复的错误,因此,如果您升级geopandas,它应该会得到解决。

向前一步;向后一步。我试图通过
conda安装-c conda forge geopandas下载0.6.3,但收到了一个重要的问题。您需要提供更多的细节,以便能够提供任何建议(但由于这是一个新问题,可能最好提出一个新问题)注意conda和conda forge之间的差异,但这是根本原因,升级到0.6.3修复了该问题。