相关疑难解决方法(0)

如何测试一个字符串是否包含列表中的一个子字符串?

是否有任何功能相当于df.isin()df[col].str.contains()?的组合?

例如,假设我有这个系列 s = pd.Series(['cat','hat','dog','fog','pet']),并且我想找到s包含任何内容的所有地方['og', 'at'],我想要获得除了宠物之外的一切.

我有一个解决方案,但它相当不优雅:

searchfor = ['og', 'at']
found = [s.str.contains(x) for x in searchfor]
result = pd.DataFrame[found]
result.any()
Run Code Online (Sandbox Code Playgroud)

有一个更好的方法吗?

python string match dataframe pandas

90
推荐指数
3
解决办法
8万
查看次数

string.contains的逆转在python,pandas中

我的代码中有类似的东西:

df2 = df[df['A'].str.contains("Hello|World")]

但是,我想要所有包含Hello或World的行.我如何最有效地扭转这一局面?

python csv string python-2.7 pandas

27
推荐指数
2
解决办法
1万
查看次数

Python pandas 无法识别特殊字符

我正在尝试df['column_name'].str.count("+")在 python 熊猫中使用,但我收到

“错误:没有什么可重复的”

. 使用常规字符,该方法有效,例如df['column_name'].str.count("a")工作正常。

另外,“^”符号也有问题。如果我使用df['column_name'].str.contains("^")结果不正确 - 看起来“^”被解释为“”(空白)。

令人惊讶的是,如果我在常规的非熊猫字符串上使用.count("+").contains("^"),它们工作得非常好。

简单的工作示例:

df = pd.DataFrame({'column1': ['Nighthawks+', 'Dragoons'], 'column2': ['1st', '2nd']}, columns = ['column1', 'column2'])
Run Code Online (Sandbox Code Playgroud)

当应用df["column1"].str.contains("^")一个得到“真,真”但应该是“假,假”。

当应用df["column1"].str.count("+")一个得到

“错误:没有什么可重复的”

但是,在熊猫之​​外,"bla++".count("+")正确地给出结果“2”。

任何解决方案?谢谢

python contains special-characters pandas

4
推荐指数
2
解决办法
6772
查看次数