我有多个数据集,其中包含一个公共列—GuestCode.对于所有数据集,我想创建另一列,告诉我GuestCode是否在每行中包含字母.

我能够使用以下代码成功地对其中一个数据集执行此操作:

df['TestResult'] = df['GuestCode'].str.contains(r"[^a-zA-Z\s']", regex=True)
GuestCode TestResult
5885 nan
CCM6505 True

我不是百分之百确定,但我认为这是可行的,因为在这个数据集中,GuestCode被读取为数据帧中的"对象"数据类型.

然而,当我在一个只包含GuestCode中的数值的数据集上try 相同的代码时,相同的代码不起作用,因为GuestCode被读取为"float".在收到

AttributeError: Can only use .str accessor with string values!

我修改了代码,但没有得到正确的结果.

df['TestResult'] = df['GuestCode'].astype(str).str.contains(r"[^a-zA-Z\s']", regex=True)
GuestCode TestResult
4445 True
CCM6515 True

我不喜欢regex解决方案,我只是需要一种方法来成功地识别GuestCode列中是否有字母字符.

提前谢谢.

推荐答案

要判断每行是否包含可以使用的字母,请执行以下操作:

df['TestResult'] = df['GuestCode'].astype(str).str.contains('[A-Za-z]')

要判断所有字符是否都是可以使用的字母,请执行以下操作:

df['TestResult'] = df['GuestCode'].astype(str).str.isalpha()

Python相关问答推荐

将行从一个DF添加到另一个DF

将特定列信息移动到当前行下的新行

为什么tkinter框架没有被隐藏?

当使用keras.utils.Image_dataset_from_directory仅加载测试数据集时,结果不同

为什么这个带有List输入的简单numba函数这么慢

加速Python循环

NumPy中条件嵌套for循环的向量化

CommandeError:模块numba没有属性generated_jit''''

启动带有参数的Python NTFS会导致文件路径混乱

如何使regex代码只适用于空的目标单元格

OpenCV轮廓.很难找到给定图像的所需轮廓

将一个双框爆炸到另一个双框的范围内

如何在Python中使用Iscolc迭代器实现观察者模式?

我对这个简单的异步者的例子有什么错误的理解吗?

使用Python异步地持久跟踪用户输入

mdates定位器在图表中显示不存在的时间间隔

Python协议不兼容警告

如何将一个文件的多列导入到Python中的同一数组中?

多索引数据帧到标准索引DF

EST格式的Azure数据库笔记本中的当前时间戳