我對這些數(shù)據(jù)結(jié)構(gòu)感到困惑。從 GIS 系統(tǒng)中,我使用一個函數(shù)來提取元數(shù)據(jù)(8 個不同的字段)myList = FeatureClassToNumPyArray(...)myList = [('a', 'b', 'c'...) ('aa', 'bb', 'cc'...) ..] # 8 fieldsprint (type(myList ))print (myList.shape)print (myList.size)這會產(chǎn)生:<class 'numpy.ndarray'>(1, 9893)9893# I was expecting to get (9893 rows x 8 cols), as in (8,9893) # or (9893, 8), but anyway, let's not worry about that right now. 所以我試試這個:>>> source = [('a', 'b', 'c') ('aa', 'bb', 'cc')]Traceback (most recent call last): File "<stdin>", line 1, in <module>TypeError: 'tuple' object is not callable但是加上一個逗號分隔符,就沒問題了……但現(xiàn)在它是一個列表。>>> source = [('a', 'b', 'c'), ('aa', 'bb', 'cc')]>>> type(source)<class 'list'>因此,這個神奇的 GIS 函數(shù)可以生成一個數(shù)據(jù)結(jié)構(gòu),該數(shù)據(jù)結(jié)構(gòu)被接受為 numpy 數(shù)據(jù)數(shù)組,但如果我嘗試手動創(chuàng)建它,那是不可能的。我錯過了什么?
1 回答

Smart貓小萌
TA貢獻1911條經(jīng)驗 獲得超7個贊
不知道該怎么做,但 juanpa.arrivillaga 的評論應(yīng)該被標記為答案。
同樣,為什么您期望 print(something) 生成一個字符串,該字符串是生成該對象的有效 python 源代碼?那是你錯誤的基本假設(shè)。那就是你所缺少的。print(repr(something)) 通常會讓你更接近一些東西,但它永遠不能保證是有效的源代碼。同樣,它可能會返回一個帶有某種結(jié)構(gòu)化數(shù)據(jù)類型的 numpy.ndarray。什么是 myList.dtype?編輯:這是一個非?;镜睦樱瑂omething = object(); print(something) 現(xiàn)在嘗試從字符串表示中重現(xiàn)它……沒有理由期望能夠做到。– juanpa.arrivillaga 5 月 13 日 21:18
我的問題源于對數(shù)據(jù)框是什么以及它如何工作的根本誤解?;宋乙欢螘r間才弄明白。
用我的話來說,它是一個需要通過各種工具/函數(shù)來操作的對象……它不僅僅是一個“字符串”矩陣。
添加回答
舉報
0/150
提交
取消