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

标签 python pandas

在 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]+'**'

关于python - 在 Pandas 中如何替换列中的某些项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53342196/

相关文章:

python - 使用 Pandas 叠加多个直方图

python - 在Elasticsearch中对大量文档进行排序

python - 如何将一列的值与数据框中的另一列匹配

python - pyqt QTreeView中选择行和列

Python3 数据帧多重分隔符

python - 尝试获取 panda 数据框中列表中的第一项

python - 使用 Firefox WebDriver 单击与同名标签耦合的单选按钮

python - GAE - 处理外部 URI

python - 在python中识别具有不同列名的重复列值的列

pandas - 如何使用Hadoop维护其架构每季度更改一次的历史数据