我知道这是一个很基本的问题,但不知为什么我找不到答案。如何获取python pandas中某个系列元素的索引?(第一次出现就足够了)
例如,我想要:
import pandas as pd
myseries = pd.Series([1,4,0,7,5], index=[0,1,2,3,4])
print myseries.find(7) # should output 3
当然,可以用循环定义这样的方法:
def find(s, el):
for i in s.index:
if s[i] == el:
return i
return None
print find(myseries, 7)
但我想应该有更好的办法。有?
转换为索引时,可以使用
get_loc
重复处理
如果非连续返回,则返回布尔数组
在内部使用哈希表,速度很快
正如Viktor所指出的,创建索引有一个一次性的创建开销(当您实际对索引执行某些操作时,例如
is_unique
时会产生此开销)尽管我承认应该有更好的方法来实现这一点,但这至少避免了对象的迭代和循环,并将其移动到C级别。
如果你事先知道有7个的话,这个就行了。你可以查一下 (myseries==7).any()
另一种方法(非常类似于第一个答案)也解释了多个7(或无)是
相关问题 更多 >
编程相关推荐