使用dropna()函数去掉NaN的行或列
import pandas as pd
import pickle
import numpy as np
dates = pd.date_range('', periods=)
df = pd.DataFrame(np.arange().reshape((,)), index=dates, columns=['A', 'B', 'C', 'D'])
df.iloc[,]=np.nan
df.iloc[,]=np.nan
print(df)
print(df.dropna(axis=,how='any'))
输出:
A B C D
-- NaN 2.0
-- 5.0 NaN
-- 9.0 10.0
-- 13.0 14.0
-- 17.0 18.0
-- 21.0 22.0
A B C D
-- 9.0 10.0
-- 13.0 14.0
-- 17.0 18.0
-- 21.0 22.0
使用fillna()函数替换NaN值
import pandas as pd
import pickle
import numpy as np
dates = pd.date_range('', periods=)
df = pd.DataFrame(np.arange().reshape((,)), index=dates, columns=['A', 'B', 'C', 'D'])
df.iloc[,]=np.nan
df.iloc[,]=np.nan
print(df)
#将NaN值替换为0
print(df.fillna(value=))
输出
A B C D
-- NaN 2.0
-- 5.0 NaN
-- 9.0 10.0
-- 13.0 14.0
-- 17.0 18.0
-- 21.0 22.0
A B C D
-- 0.0 2.0
-- 5.0 0.0
-- 9.0 10.0
-- 13.0 14.0
-- 17.0 18.0
-- 21.0 22.0
使用isnull()函数判断数据是否丢失
import pandas as pd
import pickle
import numpy as np
dates = pd.date_range('', periods=)
df = pd.DataFrame(np.arange().reshape((,)), index=dates, columns=['A', 'B', 'C', 'D'])
df.iloc[,]=np.nan
df.iloc[,]=np.nan
print(df)
#矩阵用布尔来进行表示 是nan为ture 不是nan为false
print(pd.isnull(df))
输出
A B C D
-- NaN 2.0
-- 5.0 NaN
-- 9.0 10.0
-- 13.0 14.0
-- 17.0 18.0
-- 21.0 22.0
A B C D
-- False True False False
-- False False True False
-- False False False False
-- False False False False
-- False False False False
-- False False False False
#判断数据中是否会存在NaN值
import pandas as pd
import pickle
import numpy as np
dates = pd.date_range('', periods=)
df = pd.DataFrame(np.arange().reshape((,)), index=dates, columns=['A', 'B', 'C', 'D'])
df.iloc[,]=np.nan
df.iloc[,]=np.nan
print(df)
#判断数据中是否会存在NaN值
print(np.any(df.isnull()))
输出
A B C D
-- NaN 2.0
-- 5.0 NaN
-- 9.0 10.0
-- 13.0 14.0
-- 17.0 18.0
-- 21.0 22.0
True