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])
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())
['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())
['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