data = pandas.DataFrame()
函数简介
data.index #返回索引值
data.columns #返回表头/列名
data.dtypes #返回各列的 类型
data.ftypes 我也不知道
data.get_dtype_counts() #返回各类型的列数量
data.get_ftype_counts()
data.axes #返回2个列表 [索引列表,columns]
data.ndim # 返回一个数字,显示 是 几维
data.size # 返回总共有多少个数据
data.shape #返回一个元祖 (行数,列数)
data.memory_usage([deep]) # 返回各列内存使用情况,deep is bool
data.empty #返回bool,如有空则TRUE
data.is_copy 我也不知道
转换
data.astype #转换类型,一般结合numpy.int64之类的使用
ps:data.astype('category',categories=[1,2,3],ordered=True)
1.在某一列unique后情况下发现长度短,可以使此方法节约内存
2.在某一列想实现自定义排序,而不是根据默认的排序方式
data.copy([deep]) # 复制,deep is bool,默认为True,则实现深度复制
data.isna() #判断是否为缺失值,是则True else False
ps: data.isna().any() 可以知道哪些列有缺失值
data.notna() #判断是否为缺失值,是则False else True
索引
data.head([n]) # 返回前 n 行数据
data.tail([n]) # 返回后 n 行数据
data.at[index,column] # 返回 column 第 index 个值
data.iat[index,index_column] #返回第 index_column列 第 index行值
data.loc[rows,columns] #返回 行,rows可以是索引,或bool,可以结合lambda
data.iloc[rows,columns] #返回 行
data.insert(插入第几列后面,表头名,values) #插入列
data.append() #插入行
data.items() # 返回 每一列
data.keys() #看起来跟columns一样,不过应该有其他功能
data.iteritems() #迭代器 , 返回每一列
data.iterrows() #迭代器 ,返回每一行
data.pop(column) # 删除列
data.drop(row) # 删除 行
data.isin([]) # 返回bool 列表,判断成员存在
data.where(条件,[value]) # 如果满足添加则显示,其他为NAN,NAN替换成VALUE
data.mask(条件,[value]) #如果满足条件则NAN,其他显示,NAN替换成VALUE
data.query('a>b') #比较a,b列,如果True则返回对应的行,实质跟data[data.a>data.b]一个效果
运算
(add,sub,mul,div,floordiv,mod,pow) = + - * / // % **
(eq, ne, le, lt, ge, gt) ==, =!, <=, <, >=, >
参数 fill_value: Nan时替换值
data.div(10) #除以10
data.rdiv(10) #有个‘r’就是被 被除以10
data.sub([1,2],axis='columns') -==- data - [1,2] #同时对2列做减法
data.sub(pd.Series([1,1,1]),index=[0,3,5],axis='index') #对指定行做减法
data.dot() #矩阵相乘
功能应用
data.apply(func,axisx) # 对每一列或行,执行func
data.applymap(func) #对每一个元素执行func
data.agg() # 可以使用‘sum’,'max'之类的传入参数,返回的是缩减版的
data.transform #跟agg类似,但可以返回详细版,跟原数据相同数量
data.groupby #聚合分析
统计
data.abs() #绝对值
data.all() # 所有元素都为TRUE,则返回true
data.any() # 如果一个或多个元素为True,则返回True
data.clip(low,high) #如果低于low,则替换成low;高于high,则替换成high
data.clip_lower()
data.clip_upper()
data.round(n) #保留几个小数点
data.cumsum() #累计和
data.prod() #累计 乘积
max,min,mean,median,std,nunique
缺少数据处理
data.dropna
data.fillna
data.replace
排序
data.sort_values # ascending is bool ,正序或者倒序
data.sort_index
data.nlargest(n) # 返回最大的n个值
data.nsmallest(n)
data.T #转置
合并
data.merge(df,how='left',on='ID') #数据库方式连接