zoukankan      html  css  js  c++  java
  • 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表示同一个含义,此时可以这样指定
      
  • 相关阅读:
    《Java程序设计》第五周学习总结
    团队建设任务
    《Java程序设计》第四周学习总结
    ML_Review_GMM(Ch10)
    ML_Review_SVM(Ch9)
    ML_Review_LDA(Ch5)
    ML_Review_PCA(Ch4)
    关于Kernel的思考
    ML_Homework_Porject_2_LDA_KNN
    CV_Learn
  • 原文地址:https://www.cnblogs.com/yimeisuren/p/12424798.html
Copyright © 2011-2022 走看看