Skip to main content
 首页 » 编程设计

python之在 Pandas 中如何替换列中的某些项目

2025年05月04日14softidea

在 python 3 和 pandas 中我有这个数据框:

doacoes_d_2014.info() 
<class 'pandas.core.frame.DataFrame'> 
Int64Index: 125082 entries, 1 to 427355 
Data columns (total 15 columns): 
uf                            125082 non-null object 
partido_eleicao               125082 non-null object 
cargo                         125082 non-null object 
nome_completo                 125082 non-null object 
cpf                           125082 non-null object 
cpf_cnpj_doador               125082 non-null object 
nome_doador                   125082 non-null object 
valor                         125082 non-null float64 
tipo_receita                  125082 non-null object 
fonte_recurso                 125082 non-null object 
especie_recurso               125082 non-null object 
descricao                     125082 non-null object 
cpf_cnpj_doador_originario    125082 non-null object 
nome_doador_originario        125082 non-null object 
tipo_doador_originario        125082 non-null object 
dtypes: float64(1), object(14) 
memory usage: 15.3+ MB 

“cpf_cnpj_doador”列的代码为字符串格式,始终为 11 位数字。例如:

'18286585291', '31601928220' and '06796478134' 

我需要创建一个包含相同“cpf_cnpj_doador”内容的新列,但将前三位数字替换为 *,将最后两位数字替换为 *。示例:

'***865852**', '***019282**' and '***964781**' 

请问有人知道我该怎么做吗?

请您参考如下方法:

你可以使用

df['new']='***'+df['cpf_cnpj_doador'].str[3:9]+'**'