Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 熊猫-在数据帧中搜索字符_Python_Pandas - Fatal编程技术网

Python 熊猫-在数据帧中搜索字符

Python 熊猫-在数据帧中搜索字符,python,pandas,Python,Pandas,我有一个熊猫数据框(df),需要搜索分号。我第一次试过 分号\u check=df.to_string()。u包含u(“;”) 但它非常慢,在大数据帧的情况下,我会遇到内存错误。然后,我尝试使用.str对列进行循环,但并非所有列都是字符串,因此每当我到达数字列时,都会收到一个错误 AttributeError:只能使用带字符串值的.str访问器,该访问器在pandas中使用np.object\dtype 所以我最终得到了这个代码 对于df.列中的列: 如果df[col].dtype==“O”:

我有一个熊猫数据框(
df
),需要搜索分号。我第一次试过

分号\u check=df.to_string()。u包含u(“;”)

但它非常慢,在大数据帧的情况下,我会遇到内存错误。然后,我尝试使用
.str
对列进行循环,但并非所有列都是字符串,因此每当我到达数字列时,都会收到一个错误

AttributeError:只能使用带字符串值的.str访问器,该访问器在pandas中使用np.object\dtype

所以我最终得到了这个代码

对于df.列中的列:
如果df[col].dtype==“O”:
如果df[col].str.contains(r';').any():
打印“在+列中找到”


有没有更简单的方法来实现目标?上面提到的,尽管按照预期工作对于像值搜索这样的基本任务来说似乎有点太费劲了

您可以使用过滤字符串和列,然后调用
apply
并传递
lambda
以调用:

我们可以使用过滤df中的列数组以及掩码来过滤COL:

In [36]:
# we can use the above to mask the columns
str_cols = df.select_dtypes([np.object]).columns
str_cols[test]

Out[36]:
Index(['str'], dtype='object')

这可能不是最有效的方法,但它可以安全地循环:
df.applymap(str(x)中的lambda x:;”)
In [36]:
# we can use the above to mask the columns
str_cols = df.select_dtypes([np.object]).columns
str_cols[test]

Out[36]:
Index(['str'], dtype='object')