• Pandas基本操作


    axis的0与1:

    • 检验空值, axis = 0 表示列方向上进行行合并

    • 删除和插入, axis = 0表示在列方向上删除一行;

    • 数据之间的计算, 比如说求每行的均值, axis = 0表示逐行计算均值

    • 默认值是0

    pandas基本数据操作

    1. 删除

      df1.drop(labels=['周杰伦','陈奕迅'],axis=1,inplace=True)#inplace表示对原数据进行修改
      notnull().all(axis= )
      isnull ().any(axis=0)#纵向合并,将所有的行合并
      df1.dropna(axis=0)#可以选择过滤的是行还是列, axis = 0表示逐行 , 1表示逐列 ,默认是0
      
    2. 填充覆盖

      • 值填充

        df1.fillna(value=xxx)
        
      • 向前填充

        df1.fillna(method='ffill',axis=0) #axis=0表示跨行,也就是上面填充下面
        #向后填充
        df1.fillna(method='bfill',axis=1) #axis=1表示跨列,也就是右边填充左边
        #先向前填充,但有些数据可能不能向前填充,那么它会保持不变,这时需要再向后填充一次
        df1.fillna(method='ffill',axis=0).fillna(method='bfill',axis=0)
        
    3. 级联(拼接)

      pd.concat((df1,df2),axis=0,join='inner')	#内连接,不包含NaN
      
    4. 合并(数据库两张表格的合并)

      pd.merge(df1,df2,on='name')#按名字进行合并,默认是按共有的列标签作为合并条件,如果有多个共有列标签,则会将多个列标签共同作为合并条件,除非指定
      pd.merge(df1,df2,how='outer')#默认内连接,也就是两张表中不同时出现的会被删除掉,这里设置成外连接,还有'left'和'right',分别表示只包含左表或只包含右表的内容
      pd.merge(df1,df2,left_on='name',right_on='mingzi')#两张表没有共有标签,但name和mingzi表示同一个含义,此时可以这样指定
      
  • 相关阅读:
    eg_5
    浅谈Java中的Hashmap
    java中方法传入参数时:值传递还是址传递?
    重温概率学(一)期望、均值、标准差、方差
    博客搬家
    golang sync/atomic
    单机配置kafka和zookeeper
    异步消息队列组件
    2017总结
    看完轻松年薪30w+
  • 原文地址:https://www.cnblogs.com/yimeisuren/p/12424798.html
Copyright © 2020-2023  润新知