[英]find string in pandas series python
我不知道如何在熊貓系列中找到一個字符串:
mydata = np.array(['ab','ac','ad','ae'])
myserie = pd.Series(mydata) # this is because I don't know how to initialise a series directly ... :(
我正在尋找字符串ac
的索引。
我試過myserie.str.find('ac')
但它返回
Out[270]:
0 -1
1 -1
2 -1
3 -1
dtype: int64
這有兩個問題:我只想要ac
字符串的索引(它是 1),而且它沒有發現它......我做錯了什么? 什么會起作用?
使用Series.str.contains
測試子串:
idx = myserie.index[myserie.str.contains('ac')]
如果需要精確匹配使用==
或Series.eq
:
idx = myserie.index[myserie.eq('ac')]
print (idx)
Int64Index([1], dtype='int64')
對於標量,如果沒有匹配,也可以使用帶有iter
技巧的next
返回值:
out = next(iter(idx), 'no match')
print (out)
1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.