Crea una columna de pandas usando for loop

Veamos cómo crear una columna en el marco de datos de pandas usando for loop. Dicha operación es necesaria a veces cuando necesitamos procesar los datos del marco de datos creado anteriormente para ese propósito, necesitamos este tipo de cálculo para poder procesar los datos existentes y crear una columna separada para almacenar los datos.

Se puede hacer fácilmente mediante for-loop. Los datos de la columna se pueden tomar del marco de datos existente o de cualquiera de la array.

# importing libraries
import pandas as pd
import numpy as np
  
raw_Data = {'Voter_name': ['Geek1', 'Geek2', 'Geek3', 'Geek4', 
                           'Geek5', 'Geek6', 'Geek7', 'Geek8'], 
            'Voter_age': [15, 23, 25, 9, 67, 54, 42, np.NaN]}
  
df = pd.DataFrame(raw_Data, columns = ['Voter_name', 'Voter_age'])
#       //DataFrame will look like
#
# Voter_name          Voter_age
# Geek1                15
# Geek2                23
# Geek3                25
# Geek4                09
# Geek5                67
# Geek6                54
# Geek7                42
# Geek8           not a number
  
eligible = []
  
# For each row in the column
for age in df['Voter_age']:       
    if age >= 18:                   # if Voter eligible
        eligible.append('Yes')
    elif age < 18:                  # if voter is not eligible
        eligible.append("No")
    else:
        eligible.append("Not Sure")
  
# Create a column from the list
df['Voter'] = eligible  
            
print(df)
Producción:

    Voter_name  Voter_age     Voter
0      Geek1         15        No
1      Geek2         23       Yes
2      Geek3         25       Yes
3      Geek4          9        No
4      Geek5         67       Yes
5      Geek6         54       Yes
6      Geek7         42       Yes
7      Geek8        NaN  Not Sure

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 *