【python】pandas使用-缺失处理

import pandas as pd  # 将pandas作为第三方库导入,我们一般为pandas取一个别名叫做pd

pd.set_option('expand_frame_repr', False)  # 当列太多时清楚展示

# =====导入数据
df = pd.read_csv(
    r'C:\Users\Simons\Desktop\xbx_stock_2019\data\a_stock_201903.csv',
    encoding='gbk',
    skiprows=1
)

# ===== 缺失值处理:原始数据中存在缺失值,如何处理?
# 0.创建缺失值
# index = df[df['交易日期'].isin(['2019-03-01', '2019-03-15'])].index
# df.loc[index, '月头'] = df['交易日期']

# 1.删除缺失值
# print(df.dropna(how='any'))  # 将带有空值的行删除。how='any'意味着,该行中只要有一个空值,就会删除,可以改成all。
# print(df.dropna(subset=['月头', '收盘价'], how='all'))  # subset参数指定在特定的列中判断空值。
# all代表全部为空,才会删除该行;any只要一个为空,就删除该行。

# 2.补全缺失值
# print(df.fillna(value='N'))  # 直接将缺失值赋值为固定的值
# df['月头'].fillna(value=df['收盘价'], inplace=True)  # 直接将缺失值赋值其他列的数据
# print(df.fillna(method='ffill'))  # 向上寻找最近的一个非空值,以该值来填充缺失的位置,全称forward fill,非常有用
# print(df.fillna(method='bfill'))  # 向下寻找最近的一个非空值,以该值来填充确实的位置,全称backward fill

# 3.找出缺失值
# print(df.notnull())  # 判断是否为空值,反向函数为isnull()
# print(df[df['月头'].notnull()])  # 将'月头'列为空的行输出

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值