Python Forum
Replacing NaN with list of numbers
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Replacing NaN with list of numbers
#1
#Here is the question:

### Write a function that takes two columns, 'age' and 'pclass', as input and depending on which pclass, if the age is NaN (command: pd.isnull(age) ) it returns age 40, 30 or 25. For example, if input is [NaN, 1], it returns age = 40

This is titanic data set. It has "age" and "pclass" columns. the "age" column has NaNs. I have to write a code so that when age is NaN and pclass is 1 then replace NaN in age with 40. When age is NaN and pclass is 2, then replace Nan in age with 30. When age is NaN and p class is 3, replace NaN with 25 in age.

Thanks,
Reply
#2
What have you tried?
Craig "Ichabod" O'Brien - xenomind.com
I wish you happiness.
Recommended Tutorials: BBCode, functions, classes, text adventures
Reply
#3
This is what I used but I cannot complete it.

list = [40,30,25]
for Nan in df['age']:
    if df3["pclass"] ==1:
        age=40
    elif df3["pclass"] ==2:
        age=30
    elif df3["pclass"]==3:
        age=25
df["age"]
Reply
#4
The question specification is not clear. It sounds like it just takes two values and returns one, as if it was meant to be used with the map method.

Note that a dictionary is going to be very useful here. With age_map = {1: 40, 2:25, 3: 30}, you can just use age_map[pclass].
Craig "Ichabod" O'Brien - xenomind.com
I wish you happiness.
Recommended Tutorials: BBCode, functions, classes, text adventures
Reply
#5
I am basically trying to fill NaN values in the age column with numbers. If age is NaN and the corresponding pclass column is 1 then replace the NaN with 40. If age is NaN and the corresponding pclass column is 2 then replace NaN with 30 and so on.
Thanks,
Reply
#6
Okay. Make a function that takes a key and returns a value from the dictionary I showed you. Send that function to the map method of df['pclass']. That will give you a column with the age replacements. Send that column to the fillna method of the age column.
Craig "Ichabod" O'Brien - xenomind.com
I wish you happiness.
Recommended Tutorials: BBCode, functions, classes, text adventures
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  How do I calculate a ratio from 2 numbers and return an equivalent list of about 1000 Pleiades 8 15,634 Jan-05-2024, 08:30 PM
Last Post: sgrey
  find random numbers that are = to the first 2 number of a list. Frankduc 23 3,188 Apr-05-2023, 07:36 PM
Last Post: Frankduc
  List of random numbers astral_travel 17 2,693 Dec-02-2022, 10:37 PM
Last Post: deanhystad
  Remove numbers from a list menator01 4 1,320 Nov-13-2022, 01:27 AM
Last Post: menator01
  [split] why can't i create a list of numbers (ints) with random.randrange() astral_travel 7 1,507 Oct-23-2022, 11:13 PM
Last Post: Pedroski55
  Divide a number by numbers in a list. Wallen 7 8,019 Feb-12-2022, 01:51 PM
Last Post: deanhystad
  producing numbers out of a list bouraque7878 10 3,736 Nov-12-2021, 09:13 PM
Last Post: jefsummers
  How to change odd to even numbers in the list? plumberpy 8 3,715 Aug-08-2021, 11:07 AM
Last Post: plumberpy
  convert numbers into list lokesh 1 2,377 Jun-03-2021, 06:37 AM
Last Post: menator01
  adding numbers in a list Nickd12 2 2,188 Jan-15-2021, 12:46 PM
Last Post: Serafim

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020