axis的0与1:
检验空值, axis = 0 表示列方向上进行行合并
删除和插入, axis = 0表示在列方向上删除一行;
数据之间的计算, 比如说求每行的均值, axis = 0表示逐行计算均值
默认值是0
pandas基本数据操作
删除
df1.drop(labels=['周杰伦','陈奕迅'],axis=1,inplace=True)#inplace表示对原数据进行修改 notnull().all(axis= ) isnull ().any(axis=0)#纵向合并,将所有的行合并 df1.dropna(axis=0)#可以选择过滤的是行还是列, axis = 0表示逐行 , 1表示逐列 ,默认是0
填充覆盖
值填充
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)
级联(拼接)
pd.concat((df1,df2),axis=0,join='inner') #内连接,不包含NaN
合并(数据库两张表格的合并)
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表示同一个含义,此时可以这样指定