1.判断是否是:np.isnull(df),np.notnull(df)
2.删除nandropna(axis=0,how=‘any’,inplace=false)
3.填充数据t.fillna(t.mean())(mean是平均数函数)
t.fillna(median())
t.fillna(0)
4处理为0的数据:t[t==0]=np.nan
5,nan是不参与计算的
3.2常用的统计方法方法使用模式:**df['ziduan '].mean()**
| argmin() | ||
|---|---|---|
| argmax(,axis=) | 最大值的位置 | |
| tolist() | 数组转化为列表 | |
| array() | 把一个东西装变为数组 | |
| to_dict() | 转变为字典 | |
t1 jion( t2) 默认是把相同行索引的数据合并一起
但是jion一t1为主,t1有几行就是几行,t2数组行数不够的就补齐nan
3.3.2merge()t1 merge (t2, on ‘a’,how= innner)
1on 是以列索引为字段‘a’为准合并;
当t1t2行索引不一样时,以前面的t1为准。
2how是以什么方式连接,默认是inner,就是我们上面讲的方式,还有
outer:
| a | b | c | |
|---|---|---|---|
| 1 | 1(t1) | nan | nna |
| 2 | nan | 2(t2) | 3(t2) |
| 3 | nan | 3(t2) | 4(t2) |
left/right:
就是以左为主,行数为左边的。左边的数组全部有,右边没有的用nan补齐。
3.4分组操作gb1 = df.groupby(by=[‘字段’])
gb1可以遍历。可以调用聚合方法。
3.4.1获取分组后的某一部分数据:df.groupby(by=['country','state'])['country'].count()
下面的返回的是一个dataframe
df.groupby(by=['country','state'])['country'].count()
3.4.2对某几列数据进行分组
df['country'].groupby(by= [df['country'],df.['state']]).count()
下面的返回的是一个dataframe
df[['country']].groupby(by= [df['country'],df.['state']]).count()
3.5索引index和复合索引multiindex 3.5.1简单的操作可以遍历
可以变列表
可以len()
获取索引:df.index
指定index:df.index(‘x’,‘y’)
重设index:df.reindex(list(‘abcdef’))
指定某一列为index:**df.set_index(“country”,drop=false(默认是ture))**默认是删掉作为index的那一列。
返回index的唯一值:df.set_index('“country”).index.unique()
复合索引:df.index()
d.swaplevel():交换复合索引的次序
d.swaplevel()[‘one’]选取索引‘one’的内容
d.swaplevel().loc[‘‘h’’]选取内层多个h索引的内容



