Divida una columna en el marco de datos de Pandas y obtenga parte de ella

Cuando una parte de cualquier columna en Dataframe es importante y es necesario separarla, podemos dividir una columna según el requisito.

Podemos usar el accesor Pandas .str , realiza operaciones de string vectorizadas rápidas para Series y Dataframes y devuelve un objeto de string. El accesor Pandas str tiene varios métodos útiles y uno de ellos es str.split, se puede usar con split para obtener la parte deseada de la string. Para obtener la n -ésima parte de la string, primero divida la columna por delimitador y aplique str[n-1] nuevamente en el objeto devuelto, es decir, Dataframe.columnName.str.split(" ").str[n-1].

Vamos a dejarlo claro con ejemplos.

Código #1: Imprime un objeto de datos de la columna dividida.

import pandas as pd
import numpy as np
df = pd.DataFrame({'Geek_ID':['Geek1_id', 'Geek2_id', 'Geek3_id', 
                                         'Geek4_id', 'Geek5_id'],
                'Geek_A': [1, 1, 3, 2, 4],
                'Geek_B': [1, 2, 3, 4, 6],
                'Geek_R': np.random.randn(5)})
  
# Geek_A  Geek_B   Geek_ID    Geek_R
# 0       1       1  Geek1_id    random number
# 1       1       2  Geek2_id    random number
# 2       3       3  Geek3_id    random number
# 3       2       4  Geek4_id    random number
# 4       4       6  Geek5_id    random number
  
print(df.Geek_ID.str.split('_').str[0])
Producción:

0    Geek1
1    Geek2
2    Geek3
3    Geek4
4    Geek5
dtype: object

 
Código #2: Imprima una lista de objetos de datos devueltos.

import pandas as pd
import numpy as np
df = pd.DataFrame({'Geek_ID':['Geek1_id', 'Geek2_id', 'Geek3_id',
                                         'Geek4_id', 'Geek5_id'],
                'Geek_A': [1, 1, 3, 2, 4],
                'Geek_B': [1, 2, 3, 4, 6],
                'Geek_R': np.random.randn(5)})
  
# Geek_A  Geek_B   Geek_ID    Geek_R
# 0       1       1  Geek1_id    random number
# 1       1       2  Geek2_id    random number
# 2       3       3  Geek3_id    random number
# 3       2       4  Geek4_id    random number
# 4       4       6  Geek5_id    random number
  
print(df.Geek_ID.str.split('_').str[0].tolist())
Producción:

['Geek1', 'Geek2', 'Geek3', 'Geek4', 'Geek5']

 
Código #3: Imprime una lista de elementos.

import pandas as pd
import numpy as np
  
df = pd.DataFrame({'Geek_ID':['Geek1_id', 'Geek2_id', 'Geek3_id',
                                         'Geek4_id', 'Geek5_id'],
                'Geek_A': [1, 1, 3, 2, 4],
                'Geek_B': [1, 2, 3, 4, 6],
                'Geek_R': np.random.randn(5)})
  
# Geek_A  Geek_B   Geek_ID    Geek_R
# 0       1       1  Geek1_id    random number
# 1       1       2  Geek2_id    random number
# 2       3       3  Geek3_id    random number
# 3       2       4  Geek4_id    random number
# 4       4       6  Geek5_id    random number
  
print(df.Geek_ID.str.split('_').str[1].tolist())
Producción:

['id', 'id', 'id', 'id', 'id']

Publicación traducida automáticamente

Artículo escrito por PranchalKatiyar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *