2015-03-13 176 views
0

在代码中,我生成了列标题列表。Python - 如何从生成的列表添加列标题

实例:

fList = [] 
fields = arcpy.ListFields(table) 
fList.append(field.name) 

print(fList) 

#[u'A', u'B', u'C', u'D', u'E'] 

单独创建numpy的阵列:在两个列表列

matrix = np.array(values_from_list_values) 

print(matrix) 

[[ 2. 45. 32. 9. 2.] 
[ 6. 32. 2. 25. 5.] 
[ 7. 25. 6. 12. 7.] 
[ 8. 12. 5. 32. 8.] 
[ 9. 19. 7. 15. 9.]] 

号是总是相等的。而且,列的顺序始终相等。

是否有可能将生成的列表列标题添加到矩阵中?以什么方式?

回答

0

我真的没有得到你的需求究竟,可能是要在“FLIST”添加列表作为头为“矩阵”,如果是这样,你可以这样做只是因为 -

matrix = np.insert(matrix,0,flist,0) 

请接受答案或详细阐述您的要求。

+0

AttributeError:'numpy.ndarray 'object has no attribute'insert' – kamfulebu 2015-03-13 20:53:15

+0

Try - ** matrix = np.insert(matrix,0,flist,0)** – 2015-03-13 21:30:43

+0

A,OK .. matrix --- tolist()和flist --- tolist() 。现在正在工作...... Tnx @ Bot-13 – kamfulebu 2015-03-13 21:34:09

1

如果您正在使用ArcMap版本10.1或更高版本,请在arcpy.da(数据访问模块)中检出TableToNumpyArray。表格和要素类数据集之间的转换功能类似。根据在表格中是否有无数据值创建一个numpy ndarray(recarray)或一个蒙版阵列。如果需要处理几何图形,还可以将几何对象表示作为点引入

+0

我试过......但是当我使用TableToNumpyArray切换表格时,我遇到了计算数组的问题。我认为问题是列标题中的字符串...我不知道如何解决... – kamfulebu 2015-03-14 01:25:52

+0

字段名称应符合shapefile规范...少于10个字符,不能以数字开头,不能空格和其他字符,如字母,数字和下划线。 – 2015-03-14 02:05:44