我是Python的新手,下面有一个我不理解的示例
以下是带有一些数据的csv文件
%%writefile wood.csv
item,material,number
100,oak,33
110,maple,14
120,oak,7
145,birch,3
然后,该示例尝试定义一个函数,将上面的那些树名转换为整数。
tree_to_int = dict(oak = 1,
maple=2,
birch=3)
def convert(s):
return tree_to_int.get(s, 0)
第一个问题是,为什么在“ s”之后有一个“ 0”?我删除了“ 0”并获得了相同的结果。
最后一步是通过numpy.array读取这些数据
data = np.genfromtxt('wood.csv',
delimiter=',',
dtype=np.int,
names=True,
converters={1:convert}
)
我想知道转换器的参数,{1:convert}的确切含义是什么?特别是在这种情况下,数字1是什么意思?
对于第二个问题,根据文档(https://docs.scipy.org/doc/numpy/reference/generation/numpy.genfromtxt.html),{1:convert}
是一个字典,其键为列号(第一列为column 0),其值是用于转换该列中条目的函数。
因此,在此代码中,1表示csv文件的第一列,其中一列带有树的名称。包含此参数将导致numpy使用该convert
函数将树名替换为中的相应数字data
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句