1. 程式人生 > >pandas快速定位某一列中存在某值的所有行,loc, at, ==對比

pandas快速定位某一列中存在某值的所有行,loc, at, ==對比

goodDiskName2016
from  datetime import datetime
from time import time

直接方括號定位相等的列

start = time()
for disk in goodDiskName2016[:100]:
                 ____ST4000DM000_2016_good_feature27[ST4000DM000_2016_good_feature27.serial_number==disk][features27[0]]
time()-start

消耗時間

82.93997383117676

直接loc定位相等的

start = time()
for disk in goodDiskName2016[:100
]: ____ST4000DM000_2016_good_feature27.loc[ST4000DM000_2016_good_feature27.serial_number==disk][features27[0]] time()-start

消耗時間:

82.4887466430664

先將這一列設定為index,然後通過loc查詢

b = ST4000DM000_2016_good_feature27.set_index('serial_number')
start = time()
for disk in goodDiskName2016[:100
]: b.loc[disk][features27[0]] time()-start

消耗時間:

   25.706212759017944

設定為index後用at定位

start = time()
for disk in goodDiskName2016[:100]:
    b.at[disk,features27[0]]
time()-start

消耗時間:

25.67607021331787