dataframe:
dataframe对象既有行索引又有列索引
行索引:表明不同行,横向索引,叫index,0轴,axis=0
列索引:表明不同列,纵向索引,叫columns,1轴,axis=1
import pandas as pd from pymongo import MongoClient import numpy as np s1 = [{'lsls':12,'ssss':66},{'lsls':112,'ssss':1212,'qwqw':556}] de = pd.DataFrame(s1) print(de)
没有值的地方显示NAN
dataframe的基础属性:
df.shape #行数,列数
df.dtypes #列数据类型
df.ndim #数据维度
df.index #行索引
df.columns #列索引
df.values # 对象值,二维ndarray数组
dataframe整体情况查询:
df.head(3) #显示头部几行,默认五行
df.tail (3) # 显示末尾几行,默认五行
df.info ()# 相关信息概览: 行数,列数,列索引,列非空值个数,列类型,内存占用
df.describe()# 快速综合统计结果:计数,均值,标准差,最大值,四分位数,最小值
pandas取行或者列:
方括号写数组,表示取行,对行进行操作
写字符串,表示的去列索引,对列进行操作
还有经过pandas优化过的选择方式;
df.loc通过标签索引行数据
df.iloc通过位置获取行数据
pandas的布尔索引;
df[df["列名"]>800]
缺失数据的处理:
对于NAN的数据,在numpy中我们是如何处理的?
在pandas中处理起来非常简单
判断数据是否为NAN:pd.isnull(df).pd.notnull(df)
处理方式1:删除NAN所在的行列dropna(axis=0,how=‘any’,inplace=False)
处理方式2:填充数据,t.fillna(t.mean()),t.fiallna(t.medlan(),t.fillna(0))
处理为0的数据:t[t==0]=np.nan
当然并不是每次为0的数据都需要处理
计算平均值等情况,nan是不参与计算的,但是0会