zoukankan      html  css  js  c++  java
  • DataFrame查增改删

    DataFrame查增改删

    查 Read

    类list/ndarray数据访问方式

    dates = pd.date_range('20130101',periods=10)
    dates
    df = pd.DataFrame(np.random.randn(10,4),index=dates,columns=['A','B','C','D'])
    df
    
    #索引
    df['A']
    df.A
    df['A']['2013-01-01']#先列后行
    df.A['2013-01-01']
    df[['A','C']]

    下面为Pandas专用的数据访问方式

    .loc 通过自定义索引获取数据

    #选取某行
    df.loc['2013-01-01']
    
    #选取某列
    df.loc[:,'A']
    
    #选取特定值
    df.loc['2013-01-01','A'] #先行后列
    
    #选取指定的行/列
    df.loc[[dates[0],dates[2]],:] #指定行
    df.loc[:,['A','B']] #指定列
    df.loc[[dates[0],dates[2]],['A','B']]#指定行列
    
    #切片
    df.loc['2013-01-01':'2013-01-04',:] #对行切片
    df.loc[:,'A':'C'] #对列切片
    df.loc['2013-01-01':'2013-01-04','A':'C'] #切片选取连续区块。行,列。左开右闭

    .iloc 通过默认索引获取数据

    #选取某行
    df.iloc[3]
    
    #选取某列
    df.iloc[:,2]
    
    #选取特定值:
    df.iloc[1,2]
    
    #选取指定的行/列
    df.iloc[[1,2,4],:] #指定行
    df.iloc[:,[0,2]] #指定列
    df.iloc[[1,2,4],[0,2]] #指定行列 ,先行后列
    
    #切片
    df.iloc[1:3,:] #对行切片:
    df.iloc[:,1:3] #对列切片:
    df.iloc[3:5,0:2] #切片选取连续区块。行,列。左开右闭

    Boolean索引

    #通过某列选择数据:
    df[df.A > 0]
    
    #通过where选择数据:
    b = df[df > 0]
    b
    type(b['A']['2013-01-01'])
    
    #通过 isin() 过滤数据:
    df2 = df.copy()
    df2['E'] = ['one', 'one','two','three','four','three','five','four','three','five']
    df2
    df2['E'].isin(['one','four'])
    df2[df2['E'].isin(['one','four'])]

    增 Create

    s1 = pd.Series([1,2,3,4,5,6], index=pd.date_range('20130102', periods=6))
    s1
    
    #新增一列数据
    df2['F'] = s1
    df2

    改 Update

    #更新一列值
    df2.loc[:,'D']
    df2.loc[:,'D'] = 5
    df2
    
    df2.iloc[1,3]
    df2.iloc[1,3] = 10.1
    df2
    
    #通过where更新
    df3 = df.copy()
    df3[df3 > 0] = -df3
    df3
  • 相关阅读:
    bzoj3160(FFT+回文自动机)
    bzoj2555(后缀自动机+LCT)
    luogu P4299 首都
    Annihilate(SA)
    [FJOI2016]神秘数(脑洞+可持久化)
    [ZJOI2016]大森林(LCT)
    bzoj3756pty的字符串(后缀自动机+计数)
    UVa 11582 Colossal Fibonacci Numbers! (斐波那契循环节 & 快速幂)
    UVa 12563 Jin Ge Jin Qu hao (0-1背包)
    UVa 437 The Tower of Babylon (DAG最长路)
  • 原文地址:https://www.cnblogs.com/yoyo1216/p/10131739.html
Copyright © 2011-2022 走看看