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)

在这里插入图片描述
记录到这里,时刻提醒自己,一定要先想,在写。
----------记录一个菜鸟的学习历程。

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