pandas系列||获取字符串索引(如果存在)
pandas series || get index of string if present
请多多包涵。我是 pandas 的新手并在其中使用系列。
import pandas as pd
s = pd.Series(["koala", "dog", "chameleon"])
'dog' in s.values
- 这允许测试它是否存在。
s.isin(['dog']).any()
- 这是真的。但是没有办法获取索引或使用查找。
如何找到“狗”的 index/location?
其次,如果我有重复条目(例如狗):
s = pd.Series(["koala", "dog", "chameleon","dog"])
我怎样才能找到第一次或最后一次出现?
我在 python 3X (OS X, M1):
Python 3.9.8 (v3.9.8:bb3fdcfe95, Nov 5 2021, 16:40:46) [Clang 13.0.0 (clang-1300.0.29.3)] on darwin
更改过滤器 index
的布尔掩码顺序并使用 iter
:
获取 next
中的最后一个值
m = s.eq('dog')[::-1]
#if list
m = s.isin(['dog'])[::-1]
print (next(iter(m.index[m]), 'no match'))
3
如果总是匹配更简单的是使用:
print (m[m].index[-1])
3
您可以使用 [].index
获取 series
中值的索引。
s = pd.Series(["koala", "dog", "chameleon"])
s[s == 'dog'].index
同样使用min()
和max()
得到第一次和最后一次出现:
s = pd.Series(["koala", "dog", "chameleon","dog"])
d_first, d_last = s[s == 'dog'].index.min(), s[s == 'dog'].index.max()
我平时做的是:
#....in clause like
i = s.index[s.str.contains('dog')]
这对应于一个“in”子句。如果你想要正确的匹配,你可以去 "eq":
i2 = s.index[s.eq('dog')]
在这种情况下,它们当然会产生相同的索引。
请多多包涵。我是 pandas 的新手并在其中使用系列。
import pandas as pd
s = pd.Series(["koala", "dog", "chameleon"])
'dog' in s.values
- 这允许测试它是否存在。
s.isin(['dog']).any()
- 这是真的。但是没有办法获取索引或使用查找。
如何找到“狗”的 index/location?
其次,如果我有重复条目(例如狗):
s = pd.Series(["koala", "dog", "chameleon","dog"])
我怎样才能找到第一次或最后一次出现?
我在 python 3X (OS X, M1):
Python 3.9.8 (v3.9.8:bb3fdcfe95, Nov 5 2021, 16:40:46) [Clang 13.0.0 (clang-1300.0.29.3)] on darwin
更改过滤器 index
的布尔掩码顺序并使用 iter
:
next
中的最后一个值
m = s.eq('dog')[::-1]
#if list
m = s.isin(['dog'])[::-1]
print (next(iter(m.index[m]), 'no match'))
3
如果总是匹配更简单的是使用:
print (m[m].index[-1])
3
您可以使用 [].index
获取 series
中值的索引。
s = pd.Series(["koala", "dog", "chameleon"])
s[s == 'dog'].index
同样使用min()
和max()
得到第一次和最后一次出现:
s = pd.Series(["koala", "dog", "chameleon","dog"])
d_first, d_last = s[s == 'dog'].index.min(), s[s == 'dog'].index.max()
我平时做的是:
#....in clause like
i = s.index[s.str.contains('dog')]
这对应于一个“in”子句。如果你想要正确的匹配,你可以去 "eq":
i2 = s.index[s.eq('dog')]
在这种情况下,它们当然会产生相同的索引。