pandas全表查詢,根據條件返回。記錄一次爬坑過程。

關於pandas的查詢,深深的掉了一個大坑。
以此來記錄一下

  1. 不知道元素在那一列,哪一行,先上一個坑。
t1 =time.clock()
for id in ids:#id爲需要查找的元素
    for indexs in df1.index:#循環行
        for  i in range(len(df1.loc[indexs].values)):循環行內元素
            if(df1.loc[indexs].values[i] ==id):
            	print(indexs,i)#打印元素位置
                print(df1.loc[indexs].values[i])
print(time.clock()-t1) 

來看看時間。很無語,百度的一種方法,當時比較急,沒有細想
在這裏插入圖片描述

  1. 自己優化後,其實不要返回元素具體位置,只需要定位到某一行即可。
t1 =time.clock()
for index in df1.index:
    for id in ids:
        if id in list(df1.iloc[index]):
            print('ok')
#             print(list(df1.iloc[index]))
print(time.clock()-t1)

來看看時間。。。很無語,這個坑啊,哎。

在這裏插入圖片描述

  1. 另外還有一種方法
t1 =time.clock()
for id in ids:
    for index in df1.index:
        if id in list(df1.iloc[index]):
            print('ok')
#             print(list(df1.iloc[index]))
print(time.clock()-t1)

在這裏插入圖片描述
記錄到這裏,時刻提醒自己,一定要先想,在寫。
----------記錄一個菜鳥的學習歷程。

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