数据的引用

语法

说明

df[label]

指定DataFrame对象的列标签并选择列

df[[label1,label2]]

指定DataFrame对象的多个列标签并选择多个列

df[loc:loc]

指定DataFrame行位置索引并选择行,终止元素不选择

df.loc[label]

指定DataFrame行索引并选择行,类似df.loc[label,:]

df.loc[:,lable

选择DaaFrame对象的列标签并选择对应列

df.loc[label1,label2]

指定DataFrame的行标签和列标签,并选择元素

df.iloc[loc]

选择DataFrame行位置索引,与df.iloc[loc:]等同

df.iloc[[loc1,loc2]]

指定DataFrame多个行位置索引进行选择

df.iloc[:,loc]

指定DataFrame的列位置索引进行选择

df.iloc[loc1,loc2

指定DataFrame的行位置索引和列位置索引进行选择

python dataframe 空值 赋值 dataframe空值替换_pandas

缺失值

在处理缺失值过程中,需要注意NAN不能使用==进行比较,这与python中的None存在不同,在python中,None可以使用None进行比较的。

python dataframe 空值 赋值 dataframe空值替换_python_02


python dataframe 空值 赋值 dataframe空值替换_重复数据_03


在处理包含缺失值计算过程中,NAN是可以传播的,传播的意思表示只要包含一个NAN,运算结果也会是NAN。

python dataframe 空值 赋值 dataframe空值替换_pandas_04

缺失值的确认
DataFrame.isnull()
DataFrame.isna()
DataFrame.notna()
DataFrame.dropna(axis,how,thresh,subset,inplace)

pandas.isna()
pandas.isnull()
pandas.notna()

isnull,isna,notna,都是用于判断是否存在NAN,在使用isnull,isna方法时,方法会对缺失值位置返回True,其他位置返回False,notna则相反

dropna是返回删除缺失值行后的结果,

python dataframe 空值 赋值 dataframe空值替换_重复数据_05

缺失值的填充
DataFrame.fillna(value=None, method=None, axis=None, inplace=False, limit=None, downcast=None, **kwargs)
  • value: 变量、字典、Series,DataFrame;用于填充填充缺失值,或指定为每个索引(对于Series)或列(对于DataFrame)的缺失值使用字典/Series/DataFrame的值填充
  • method: {‘backfill’, ‘bfill’, ‘pad’, ‘ffill’, None}, 默认None, pad/ffill表示向后填充空值,backfill/bfill表示向前填充空值
  • axis: {0 or ‘index’, 1 or ‘columns’}
  • inplace: boolean, 默认为False。若为True, 在原地填满
  • limit: int, 默认为None, 如果指定了方法, 则这是连续的NaN值的前向/后向填充的最大数量
  • downcast: dict, 默认None, 字典中的项为类型向下转换规则。

python dataframe 空值 赋值 dataframe空值替换_pandas_06

重复值处理

重复行检测
DataFrame.duplicated(subset,keep)
  • subset:检测重复的数据范围。默认为数据集的所有列,可指定特定数据列
  • keep: 标记哪个重复数据,默认为‘first’。1.‘first’:标记重复数据第一次出现为True;‘last’:标记重复数据最后一次出现为True;False:标记所有重复数据为True。

python dataframe 空值 赋值 dataframe空值替换_缺失值_07

删除重复行
DataFrane,drop_duplcates(subset,keep,inplace,ignore_index)
  • subset:column label or sequence of labels, optional,需要删除的列,默认是全部的列
  • keep:{‘first’, ‘last’, False}, default,‘first’,确定要保留的重复项(如果有),first和last分别是第一次和最后一次,false则是删除所有的重复项
  • inplace:bool, default False,是否覆盖原来的df
  • ignore_index:bool, default False