Pandas 遍歷效率、訪問效率對比

 

不同迭代方式:
1、使用普通的range循環:
 for i in range(len(data)):
        district = data['DISTRICT'][i]

兩次平均時間爲:
[1.5522482614177306, 1.6075029883747902]


2、使用iterrows屬性
    for index, row in data.iterrows():
        district = row['DISTRICT']

兩次平均時間爲:
[7.733582028927344, 7.599266269490954]


很明顯使用普通的range比iterrows的方式要快。

不同訪問方式:
1、使用loc訪問
    for i in range(len(data)):
        district = data.loc[i, 'DISTRICT']

兩次平均時間爲:
[1.0522786400999848, 1.0238578468818957]

2、使用at訪問
    for i in range(len(data)):
        district = data.at[i, 'DISTRICT']

兩次平均時間爲:
[0.7300140697672037, 0.7022568288888298]

3、使用iloc訪問
    for i in range(len(data)):
        district = data.iloc[i]['DISTRICT']

兩次平均時間爲:
[12.291427135877314, 11.971714033517628]
    使用列號
     for i in range(len(data)):
        district = data.iloc[i, 3]

兩次平均時間爲:
[0.9978076201158278, 0.9985134961239963]

4、使用列訪問
 for i in range(len(data)):
        district = data['DISTRICT'][i]

兩次平均時間爲:
[1.5522482614177306, 1.6075029883747902]


從上面四種訪問數據方式來看,明顯at方式訪問效率最快,但是其主要是直接訪問值,如果需要其他屬性的話還有按情況而定,這裏只討論訪問值的效率。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章