關於pandas的查詢,深深的掉了一個大坑。
以此來記錄一下
- 不知道元素在那一列,哪一行,先上一個坑。
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)
來看看時間。很無語,百度的一種方法,當時比較急,沒有細想
- 自己優化後,其實不要返回元素具體位置,只需要定位到某一行即可。
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)
來看看時間。。。很無語,這個坑啊,哎。
- 另外還有一種方法
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)
記錄到這裏,時刻提醒自己,一定要先想,在寫。
----------記錄一個菜鳥的學習歷程。