首页 > 解决方案 > Python从Pandas数据框奇怪的输出中删除单引号

问题描述

在我的数据框中,我有一个字符串列,如下所示

acctno
'12345
 12345
 12345-5678

我正在尝试删除 Column 中的 Single quote(') 。我运行了下面的代码

df['acctno'] = df['acctno'].str.replace("[']", "")

输出不是我所期望的

输出”

acctno
12345
nan 
12345-5678

试图理解为什么没有单引号的 12345 值被删除而不是保持原样。任何帮助表示赞赏!

标签: pythonpandas

解决方案


如果您希望该列只有字符串并将整数输入作为错误,您还可以在清理单引号字符之前将其转换为字符串,例如:

df['acctno'] = df['acctno'].astype(str).str.replace("[']", "", regex=True)

演示

data = {'acctno': {0: "'12345", 1: 12345, 2: '12345-5678'}}
df = pd.DataFrame(data)

df['acctno'] = df['acctno'].astype(str).str.replace("[']", "", regex=True)


## Without NaN now 

       acctno
0       12345
1       12345
2  12345-5678

推荐阅读