我有多个数据集,其中包含一个公共列—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列中是否有字母字符.
提前谢谢.