我有两个像这样的字符串系列
>>> a = pd.Series(['a','b','c'])
>>> b = pd.Series(['bb', 'a', 'dd', 'ee'])
>>> a
0 a
1 b
2 c
dtype: object
>>> b
0 bb
1 a
2 dd
3 ee
dtype: object
如果我想选择' a'匹配' b'中的确切行我会用这个:
>>> a.loc[a.isin(b)]
0 a
dtype: object
但是如何在' a'中选择所有行/字符串?这是' b'中的子字符串?我想得到这个:
0 a
1 b
答案 0 :(得分:3)
首先需要创建join
值为a
且|
or
regex
表示b
中print ('|'.join(a))
a|b|c
print (b.str.contains('|'.join(a)))
0 True
1 True
2 False
3 False
dtype: bool
print (a[b.str.contains('|'.join(a))])
0 a
1 b
dtype: object
的表达式,然后使用contains
进行检查if check
中的值,上次使用boolean indexing
进行过滤:
connections' => [
'mysql' => [
'driver' => 'mysql',
if(env('APP_ENV') == 'local'){
'host' => env('DB_HOST'),
'database' => env('DB_DATABASE'),
'username' => env('DB_USERNAME'),
'password' => env('DB_PASSWORD'),
'unix_socket' => env('UNIX_SOCKET'),
}else{
'host' => parse_url(getenv("DATABASE_URL"))["host"],
'database' => substr(parse_url(getenv("DATABASE_URL"))["path"], 1),
'username' => parse_url(getenv("DATABASE_URL"))["user"],
'password' => parse_url(getenv("DATABASE_URL"))["pass"],
}
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
]
],
答案 1 :(得分:1)
您可以使用child_added
方法逐一检查a
中的元素是b
的子字符串:
apply