I am trying to generate a new column containing boolean values of whether a value of each row is Null or not. I wrote the following function,
def not_null(row):
   null_list = []
   for value in row:
       null_list.append(pd.isna(value))
   return null_list
df['not_null'] = df.apply(not_null, axis=1)
But I get the following warning message,
A value is trying to be set on a copy of a slice from a DataFrame.
Is there a better way to write this function?
Note: I want to be able to apply this function to each row regardless of knowing the header row name or not
Final output ->
Column1 | Column2 | Column3 | null_idx
NaN     |   Nan   |   Nan   | [0, 1, 2]
1       |   23    |    34   | []
test1   |   Nan   |   Nan   | [1, 2]
 
    