我认为我得到了以下行为,因为我的输入数组被屏蔽了,我很难理解这一点。我一直在看这个 pandas 文档的陷阱,但不太确定“哨兵”值是什么。它是否只是在创建 DataFrame 期间使用的类似“-9999”的东西,随后设置为 NULL?
创建 DataFrame 时处理这些值的好方法是什么?如果屏蔽条目设置为 NULL,我很高兴。
这是一个例子:
[Dbg]>>> segDF = pd.DataFrame(segArrNew)
Traceback (most recent call last):
File "<interactive input>", line 1, in <module>
File "C:\Anaconda\envs\esri\Lib\site-packages\pandas\core\frame.py", line 393, in __init__
datacopy[mask] = NA
File "C:\Python27\ArcGIS10.2\lib\site-packages\numpy\ma\core.py", line 3027, in __setitem__
ndarray.__setitem__(_data, indx, dval)
IndexError: arrays used as indices must be of integer (or boolean) type
[Dbg]>>> segArrNew
masked_array(data = [(1, u'01', 1, --) (2, u'01', 2, --) (3, u'01', 3, --) ...,
(56853, u'21', 241, --) …Run Code Online (Sandbox Code Playgroud)