我正在尝试创建列名以便于参考,这样我就可以从程序的其余部分调用名称,而不必知道哪个列就位置而言。 from_
列数组将显示为空。我是numpy的新手所以我只是想知道这是怎么做的。不过,更改第5列和第6列的数据类型是成功的。
def array_setter():
import os
import glob
import numpy as np
os.chdir\
('C:\Users\U2970\Documents\Arcgis\Text_files\Data_exports\North_data_folder')
for file in glob.glob('*.TXT'):
reader = open(file)
headerLine = reader.readlines()
for col in headerLine:
valueList = col.split(",")
data = np.array([valueList])
from_ = np.array(data[1:,[5]],dtype=np.float32)
# trying to assign a name to columns for easy reference
to = np.array(data[1:,[6]],dtype=np.float32)
if data[:,[1]] == 'C005706N':
if data[:,[from_] < 1.0]:
print data[:,[from_]]
array_setter()
答案 0 :(得分:0)
如果要按名称索引数组列,我建议将数组转换为pandas数据帧。例如,
import pandas as pd
import numpy as np
arr = np.array([[1, 2], [3, 4]])
df = pd.DataFrame(arr, columns=['f', 's'])
print df['f']
这种方法很好的部分是数组仍然保持其所有结构,但你也得到所有优化的索引/切片/等。大熊猫的能力。例如,如果您想要找到对应于's'元素的'f'元素等于某个值a
,那么您可以使用loc
a = 2
print df.loc[df['s']==2, 'f']
查看pandas文档,了解使用DataFrame对象的不同方法。或者你可以阅读Wes McKinney(熊猫创造者), Python for Data Analysis 这本书。虽然它是为旧版本的熊猫编写的,但它是一个很好的起点,可以让你朝着正确的方向前进。