缺失值:在dataframe中为nan或者naT(缺失时间),在series中为none或者nan即可

3.函数具体解释

DataFrame. dropna ( axis=0 , how='any' , thresh=None , subset=None , inplace=False )

函数作用:删除含有空值的行或列

axis:维度,axis=0表示index行,axis=1表示columns列,默认为0

how:"all"表示这一行或列中的元素全部缺失(为nan)才删除这一行或列,"any"表示这一行或列中只要有元素缺失,就删除这一行或列

thresh:一行或一列中至少出现了thresh个才删除。

subset:在某些列的子集中选择出现了缺失值的列删除,不在子集中的含有缺失值得列或行不会删除(有axis决定是行还是列)

inplace:刷选过缺失值得新数据是存为副本还是直接在原数据上进行修改。

df = pd.DataFrame({"name": ['Alfred', 'Batman', 'Catwoman'],
                "toy": [np.nan, 'Batmobile', 'Bullwhip'],
                  "born": [pd.NaT, pd.Timestamp("1940-04-25"),pd.NaT]})
print df

默认参数:删除行,只要有空值就会删除,不替换。

print df.dropna()
print df
print "delete colums"
print df.dropna(axis=1) #delete col
print "所有值全为缺失值才删除"
print df.dropna(how='all')
print "至少出现过两个缺失值才删除"
print df.dropna(thresh=2)
print "删除这个subset中的含有缺失值的行或列"
print df.dropna(subset=['name', 'born'])

DataFrame.fillna(value=Nonemethod=Noneaxis=Noneinplace=Falselimit=Nonedowncast=None**kwargs)

函数作用:填充缺失值

value:需要用什么值去填充缺失值

axis:确定填充维度,从行开始或是从列开始

method:ffill:用缺失值前面的一个值代替缺失值,如果axis =1,那么就是横向的前面的值替换后面的缺失值,如果axis=0,那么则是上面的值替换下面的缺失值。backfill/bfill,缺失值后面的一个值代替前面的缺失值。注意这个参数不能与value同时出现

limit:确定填充的个数,如果limit=2,则只填充两个缺失值。

df = pd.DataFrame([[np.nan, 2, np.nan, 0],
                  [3, 4, np.nan, 1],
                 [np.nan, np.nan, np.nan, 5],
                [np.nan, 3, np.nan, 4]],
                 columns=list('ABCD'))
print df
print "横向用缺失值前面的值替换缺失值"
print df.fillna(axis=1,method='ffill')
print "纵向用缺失值上面的值替换缺失值"
print df.fillna(axis=0,method='ffill')
print df.fillna(0)

不同的列用不同的值填充:

对每列出现的替换值有次数限制,此处限制为一次

DataFrame.isna()

判断是不是缺失值:

isnull同上。

替换空值:

df = pd.DataFrame([[np.nan, 2, np.nan, 0],
                  [3, 4, "", 1],
                 [np.nan, np.nan, np.nan, 5],
                [np.nan, 3, "", 4]],
                 columns=list('ABCD'))
print df

如上,缺失值是NAN,空值是没有显示。

替换空值代码:需要把含有空值的那一列提出来单独处理,然后在放进去就好。

clean_z = df['C'].fillna(0)
clean_z[clean_z==''] = 'hello'
df['C'] = clean_z
print df
                    1.相关函数df.dropna()df.fillna()df.isnull()df.isna()2.相关概念空值:在pandas中的空值是""缺失值:在dataframe中为nan或者naT(缺失时间),在series中为none或者nan即可3.函数具体解释DataFrame.dropna(axis=0, how='any', thresh=None, subset=None, inplace=...
  isnull和notnull:检测是否是空值,可用于df和series
  dropna:丢弃、删除缺失值
    axis : 删除行还是列,{0 or ‘index’, 1 or ‘columns’}, default 0
    how : 如果等于any则任何值为空都删除,如果等于all则所有值都为空才删除
    inplace : 如果为True则修改当前df,否则返回新的df
  fillna:填充空值
    value:用于填充的值,可以是单个值,或者字典(key是列名,value是值)
    method : 等于ffill使用前
axis : 删除行还是列,{0 or ‘index’, 1 or ‘columns’}, default 0
how : 如果等于any则任何值为空都删除,如果等于all则所有值都为空才删除
inplace : 如果为True则修改当前df,否则返回新...
import pandas as pd
import numpy as np
ts1 = [0, 1, np.nan, np.nan, np.nan, np.nan]
ts2 = [0, 2, np.nan, 3, np.nan, np.nan]
d = {
  'X': ts1,
  'Y': ts2,
  'Z': ts2
df = pd.DataFrame(data=d)
print(df
1.None和np.nan的区别?
2.pandas空值的操作:
涉及函数:any、all;isnull()、notnull()、dropna()、fillna()、isna()
https:/...
				
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、Pandas缺失值处理二、使用步骤0.数据处理1.空值处理2.删除全是空值的行和列3.填充空值3.补全姓名4.保存数据总结 提示:这里可以添加本文要记录的大概内容: 待处理表格 提示:以下是本篇文章正文内容,下面案例可供参考 一、Pandas缺失值处理 Pandas使用这些函数处理缺失值: 1、·isnull和notnull:检测是否是空值,可用于df和series· 2、dropna:丢弃、删除缺失值.
Pandas中,有两种主要的缺失值处理方法:填充和删除。其中,填充可以使用fillna()函数,可以将空值统一替换为想要的数值,也可以设定为均值填充dataFrame.mean()、向上填充method='ffill'、向下填充method='bfill'、对应值填充df.replace({np.nan:'aa'})。而删除可以使用dropna()函数,可以对空值进行删除,可以指定删除的轴、删除的方式、删除的阈值等参数。 具体来说,fillna()函数的常用参数如下: - value:用于填充缺失值的标量值或字典对象。 - method:用于指定填充方法,如向前填充ffill、向后填充bfill等。 - axis:用于指定填充方向,0表示按列填充,1表示按行填充。 - inplace:用于指定是否在原数据上进行修改。 而dropna()函数的常用参数如下: - axis:用于指定删除的轴,0表示按列删除,1表示按行删除。 - how:用于指定删除的方式,any表示只要存在缺失值就删除,all表示全部为缺失值才删除。 - thresh:用于指定删除的阈值,即非缺失值的最小数量。 - subset:用于指定删除的子集,即只在指定的列中删除缺失值。 - inplace:用于指定是否在原数据上进行修改。 -bash: */anaconda3/bin/conda: */anaconda3/bin/python: bad interpreter: No such file or directory 已解决,感谢博主 python中的try-catch-finally-else简介 你别误人子弟ok,打印不打印异常信息? -bash: */anaconda3/bin/conda: */anaconda3/bin/python: bad interpreter: No such file or directory Burger~: 博主列出的三个文件都是python文件不是配置文件啊