find nan value in dataframe python
# to mark NaN column as True
df['your column name'].isnull()
find nan value in dataframe python
# to mark NaN column as True
df['your column name'].isnull()
represent NaN with pandas in python
import pandas as pd
if pd.isnull(float("Nan")):
print("Null Value.")
filling the missing data in pandas
note:to fill a specific value
varable = 1
def fill_mod_acc(most_related_coloum_name,missing_data_coloum):
if np.isnan(missing_data_coloum):
return varable[most_related_coloum_name]
else:
return missing_data_coloum
df['missing_data_coloum'] = df.apply(lambda x:fill_mod_acc(x['most_related_coloum_name'],x['missing_data_coloum']),axis=1)
Note:to fill mean from existing closley related coloum
varable = df.groupby('most_related_coloum_name').mean()['missing_data_coloum']
def fill_mod_acc(most_related_coloum_name,missing_data_coloum):
if np.isnan(missing_data_coloum):
return varable[most_related_coloum_name]
else:
return missing_data_coloum
df['missing_data_coloum'] = df.apply(lambda x:fill_mod_acc(x['most_related_coloum_name'],x['missing_data_coloum']),axis=1)
nan vs nat pandas
>>> import pandas as pd, datetime, numpy as np
>>> df = pd.DataFrame({'a': [datetime.datetime.now(), np.nan], 'b': [5, np.nan], 'c': [1, 2]})
>>> df
a b c
0 2019-02-17 18:06:15.231557 5.0 1
1 NaT NaN 2
>>> fill_dt = datetime.datetime.now()
>>> fill_value = 4
>>> dt_filled_df = df.select_dtypes('datetime').fillna(fill_dt)
>>> dt_filled_df
a
0 2019-02-17 18:06:15.231557
1 2019-02-17 18:06:36.040404
>>> value_filled_df = df.select_dtypes('int').fillna(fill_value)
>>> value_filled_df
c
0 1
1 2
>>> dt_filled_df.columns = [col + '_notnull' for col in dt_filled_df]
>>> value_filled_df.columns = [col + '_notnull' for col in value_filled_df]
>>> df = df.join(value_filled_df)
>>> df = df.join(dt_filled_df)
>>> df
a b c c_notnull a_notnull
0 2019-02-17 18:06:15.231557 5.0 1 1 2019-02-17 18:06:15.231557
1 NaT NaN 2 2 2019-02-17 18:06:36.040404
Copyright © 2021 Codeinu
Forgot your account's password or having trouble logging into your Account? Don't worry, we'll help you to get back your account. Enter your email address and we'll send you a recovery link to reset your password. If you are experiencing problems resetting your password contact us