@gustavomadmax, tudo bem?
Pelo exemplo, você tem uma coluna de object
e outra de int
. Então acho que a melhor forma de fazer isso é com essas linhas:
# Transformar tudo em `object`
df[['col1', 'col2']] = df[['col1', 'col2']].astype(str)
# Passar uma função lambda pegando só o intervalo desejado
df['col1'] = df['col1'].apply(lambda x: x[3:9])
df['col2'] = df['col2'].apply(lambda x: x[3:9])
O resultado será algo assim:
|
col1 |
col2 |
0 |
456789 |
456789 |
Há outras formas de fazer isso (com for loop, função etc.), mas esta é a que primeiro me veio à mente.
Cabe ressaltar dois pontos:
- Ao final, você terá duas colunas do tipo
object
, apenas de serem números.
- Será que simplesmente ignorar os algarismos escondidos nos asteriscos é uma boa ideia? Não há a possibilidade de os algarismos do meio se repetirem em CPFs diferentes (supondo que são CPFs)?
Boa sorte aí.