在DataFrame中提取符合某个条件的一行值,可以使用某一属性来,例如:提取ClassID列中等于83的子行
cadf[cadf.ClassID==83]
其中cadf是一个DataFrame,结果为:
在一步,我们想要得到这一条记录下Area的值,可以直接使用:cadf.Area[5]得到。
所以需要得到该条记录对应的整数索引。而直接使用
cadf.index[cadf.ClassID==83]
或者
cadf[cadf.ClassID==83].index
结果得到都是
Int64Index([5], dtype=‘int64’, name=‘tepindex’)
不能作为索引值来确定相应的数值。所以要进行转换,将Int64Index转化为整数,为此可以只用函数**.values**,即
cadf.index[cadf.ClassID==83].values
这样得到的结果是array,即array([5], dtype=int64)。但只要再使用**int()**函数就可以得到相应的整数。
所以只需要
cadf.Area[int(cadf.index[cadf.ClassID==83].values)]
结果:
1307.02931