美文网首页
【python】记录今天用到的陌生语句

【python】记录今天用到的陌生语句

作者: 虫虫工工队 | 来源:发表于2020-04-28 22:57 被阅读0次

    一、Pandas

    (1)导入导出

    c=pd.read_table('output',header=None,sep=' ')
    m.to_csv('m2',index=None,sep='\t',float_format='%.3f')
    
    • sep=' ' :读取的表格是以空格为分隔的
    • header/index=None:
      在读取时,即不把读取的表格中的第一行/列当做表头,导入的内容都是表格内容
      在导出时,即不保存表格的表头,只保存内容
    • float_format='%.3f':导出时保留小数点后三位

    (2)修改

    优雅地添加一列或一行

    参考:https://blog.csdn.net/luoganttcc/article/details/77570024

    data1=[1,2,3]
    df.loc['new_row'] = data1 #可以加入新的一行,值为1,2,3,行名为new_row
    df['new_col']='12' #可以加入新的一行,值都为12,列名为new_col
    

    虽然有一定局限,但是确实挺优雅的,直接将list加进去了,而不需要转成pandas的DataFrame或Series

    添加一列(老方法)

    #df是dataframe;cddl是series
    df.insert(1,1,cddl) #在位置1加入一列,列名为数字1. insert默认加列,不用带axis参数
    

    修改列名

    a1.columns=['name','id'] #粗暴改列名
    c.rename(columns={1:'id'},inplace=True) #部分改列名
    
    • inplace=True:直接对进行更改
    • inplace=False:默认该操作不改变原数据,而是返回一个执行操作后的新dataframe

    将某一行/列变为空值

    df.iloc[1]=np.nan #第一行变为空值
    df.iloc[:,1]=np.nan #第一列变为空值
    df_test['B']=np.nan
    
    • df_test['B']=np.nan:也可以直接令一列为空值,如果有一列列名为“B”,则这列变为空值;否则新建一列列名为“B”的列,全列为空值。

    拼接merge

    m=pd.merge(a1,t2) #a1和t2有相同列名,两表拼接
    

    修改index

    df1.reset_index(inplace=True,drop=True)
    
    • 应用场景:df被删掉了一些行之后,行名不连续,可用reset_index重置行名,使行名连续。
    • drop=True: 不保留原来的索引
    • drop=False: 保留原来的索引,令原来的索引称为df的其中一列

    (3)删除相关

    删除一列

    df.drop(1,axis=1,inplace=True) #删位置在1的一列
    

    删除空值

    df.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)
    
    • axis:0表示行,1表示列,默认为0
    • how:any表示有一个空值就删除整行,all表示所有未空值才删除
    • thresh:axis中至少有thresh个非缺失值,否则删除
    • subset:在某些列的子集中选择出现了缺失值的列删除,不在子集中的含有缺失值得列或行不会删除(有axis决定是行还是列)

    去重

    df1.drop_duplicates(inplace=True)#删除掉一行中完全一样的行
    
    • keep=False如果完全相同的行都不要了,可以加此参数。即如果有3行内容一致,加keep=False则3行都删掉,不加则只删2行,保留一行。

    (4)查看

    print(c.head(10)) #打印c的前10行
    

    二、其他

    t=[214837,214838,214839,214840,213536]
    cddl=['CDD:'+str(i) for i in t]
    print(cddl) #CDD:214837,CDD:214838,CDD:214839,CDD:214840,CDD:213536
    
    • 这个是R中的paste语句在python中的应用

    相关文章

      网友评论

          本文标题:【python】记录今天用到的陌生语句

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