四、Pandas——处理丢失数据

import pandas as pd
import numpy as np

dates = pd.date_range("20190101", periods=6)
df = pd.DataFrame(np.arange(24).reshape((6, 4)),
                  index=dates, columns=["A", "B", "C", "D"])
print(df)
#              A   B   C   D
# 2019-01-01   0   1   2   3
# 2019-01-02   4   5   6   7
# 2019-01-03   8   9  10  11
# 2019-01-04  12  13  14  15
# 2019-01-05  16  17  18  19
# 2019-01-06  20  21  22  23
print("============根据索引修改指定的某个值==============")
df.iloc[0, 1] = np.nan
df.iloc[1, 2] = np.nan
print(df)
#              A     B     C   D
# 2019-01-01   0   NaN   2.0   3
# 2019-01-02   4   5.0   NaN   7
# 2019-01-03   8   9.0  10.0  11
# 2019-01-04  12  13.0  14.0  15
# 2019-01-05  16  17.0  18.0  19
# 2019-01-06  20  21.0  22.0  23
print("===========丢弃NaN的行或列============")
# axis=0 代表行 , how= {'any','all'},'any' 只要有一个值为NaN就丢掉,
# all所有值都为NaN才丢掉
print(df.dropna(axis=0 , how= 'any'))
#              A     B     C   D
# 2019-01-03   8   9.0  10.0  11
# 2019-01-04  12  13.0  14.0  15
# 2019-01-05  16  17.0  18.0  19
# 2019-01-06  20  21.0  22.0  23
print("===========填充NaN值============")
# 使用指定的值替换NaN
print(df.fillna(value=0))
print("**************检查是否有确实数据 **************")
print("========检查df中所有位置是否为NaN=========")
print(df.isnull())
#                 A      B      C      D
# 2019-01-01  False   True  False  False
# 2019-01-02  False  False   True  False
# 2019-01-03  False  False  False  False
# 2019-01-04  False  False  False  False
# 2019-01-05  False  False  False  False
# 2019-01-06  False  False  False  False
print("======检查df中是否至少有一个位置是否为NaN======")
print(np.any(df.isnull()) == True)
# True

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值