美文网首页
pandas 行和列的操作

pandas 行和列的操作

作者: forjie | 来源:发表于2019-12-13 18:33 被阅读0次

    删除某一行

    1.知道某行的index

    df.drop(index_name)
    

    2.条件删除某一行

    # 删除列名称是=name的所有行
    df.drop(df[df['name'] == 'yu'].index)
    # 删除第一行
    df.drop(index=0,inplace=True)
    # 删除index=23的行
    df.drop(23,inplace=True)
    # 多条件删除行
    df.drop(df[(df.name == 'yu') & (df.age ==12)].index)
    

    增加行

    1.在头部增加一行

    # 替换第一行,index_name没有就是增加一行,有就是替换index_name的一行
    df.loc[index_name] = [1,2,3,4,5]
    

    2.顺延dataframe,在增加一行

    # 所有的dataframe往后顺延2行,开始的2行全部为Nan
    df.shift(period=2)  
    df.loc[index_name] = [12,3,4,5]
    

    3.在某个位置添加一行

    # 利用reindex先增加index的值,然后再添加Series
    s = df.reindex(df.index.insert(0,'name'))
    df.loc['name'] = [1,2,3,4]
    

    4.利用append增加一行

    增加一行index为sex,值是列表的值
    s=pd.Series([12,3,4,5],columns=df.columns,name='sex')
    df.append(s)
    # 没有name的series的添加方法,添加的一行是没有index
    s = pd.Series([1,2,3,4],columns=df.columns)
    df.append(s,ignore_index=True)
    

    查询行

    1.查询第一行

    # 第一行数据
    df.irow(0)
    # 第一列
    df.icol(0)
    

    2.最后一行

    df.iloc[-1]
    

    3.精确查询某一列的某一行单值

    # 查询index=index_name那一行中column=col_name的那一个值
    df.loc[index_name,col_name]
    # 查询index=index_name那一行中columns=[col_name,col_name2]的series
    df.loc[index_name,[col_name1,col_name2]
    # 查询index=[index_name1,index_name2,index_name3],column=col_name的值
    df.loc[[index_name1,index_name2,index_name3],col_name]
    

    4.条件查询某些行

    #name列名称等于yu的所有行
    df.loc[df.name=='yu']
    

    5.多条件条件查询

    df.loc([(df.name>1) & (df.age <10)])
    

    6.利用函数查询

    查询index起始位2018-10的数据
    def func(x):
      return x.index.str.startwith('2018-10')
    df.loc[func]
    

    7.查询index=index_name的所有行

    df.loc[df.index==index_name]
    

    相关文章

      网友评论

          本文标题:pandas 行和列的操作

          本文链接:https://www.haomeiwen.com/subject/iyvfnctx.html