pandas中表的合并与空值的使用

1.空值的处理
1.NAN可以常与运算
2.none不可以常与运算,所以在pandas中遇见None它转换成NAN形式
3.将空对应的行数据删除
方式一:
1.df.notnull.all(axis=1) df.isnull.any(axis = 1) all()表示全部都是ture,如果有一个不是就是false,any()表示相反
2.将这一组值作为行索引df.loc[df.notnull.all(axis=1)] df.loc[~df.isnull.any(axis = 1)]
方式二:
df.dropna(axis=0) 注意:以drop开头的行和列是相反的
4.填充一个固定的数据 df.fillna(value = '要填充的值')
5.使用相邻的值进行填充 df.fillna(method = 'ffill'('bfill'),aixs = 0 )

2.级联操作: df.concat((df1,df2),axis=0)
不匹配级联 df.concat((df1,df2),axis=0, join='inner') 当join是inner时,有相同索引的才会级联,其他的删除,如果为outer不同的索引会为NAN
3.合并:pd.merge(df1,df2,how='用什么方式合并',on='合并条件(列名)',left_on='xxx',right_on ='xxx')
# 如果使用合并条件,就会将俩个表的公告的列作为合并条件
# how中inner表示只合并可以合并的数据,outer表示不能合并的数据补空,right表示只保存右表不能合并的数据,并且补空,左表不能合并的数据不要,left相反
#left_on和right_on,当俩个表没有相同的列索引作为合并条件的话,就可以使用俩个表某个列里面的相同值作为合并



原文地址:https://www.cnblogs.com/KingOfCattle/p/13376495.html