python - 检查字符串列最后一个字符是否是 Pandas 中的数字

标签 python string pandas dataframe

我有这个数据框:

   Code               Mark
0  Abd 43212312312   
1  Charles de Gaulle
2  Carlitos 4132411  
3  Antonio

如果 Code 列中字符串的最后 5 个字符是数字,我希望 'Mark' 是 'A',所以它看起来像这样:

   Code               Mark
0  Abd 43212312312    A
1  Charles de Gaulle
2  Carlitos 4132411   A
3  Antonio

我正在尝试使用 isnumeric但我不断收到 AttributeError: 'Series' object has no attribute 'isnumeric'

有人可以帮忙吗?

最佳答案

你很接近。诀窍是通过 pd.Series.str.isnumeric 使用 .str 访问器.

然后通过pd.Series.map映射到'A'或一个空字符串:

df['Mark'] = df['Code'].str[-5:]\
                       .str.isnumeric()\
                       .map({True: 'A', False: ''})

print(df)

              Code Mark
0   Abd43212312312    A
1  CharlesdeGaulle     
2  Carlitos4132411    A
3          Antonio     

关于python - 检查字符串列最后一个字符是否是 Pandas 中的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50191647/

相关文章:

python - 如何将值列表提供给 tensorflow 中的占位符列表?

java - 两个 .compareTo 方法问题?

c# - 使用 C# 检查字符串是否包含字符串数组中的字符串

python - 从现有数据框创建多索引

python - 在holoviews桑基标签或悬停信息中显示附加值

python - 使用正则表达式,如何匹配密码中任意位置的特殊字符和数字?

python - 在 Sharepoint 上将 Python 数据导出到 Excel 文件

python - 为什么在 Python 中列表访问 O(1)?

python - 在python中打印出$和*+2字符之间的所有字符串

python - Pandas - 取消堆叠重复项