一、Series 的长度不可改变,但 DataFrame 里就可以插入列。
二、Pandas 和 NumPy 的本质区别:NumPy 数组只有一种数据类型,DataFrame 每列的数据类型各不相同。
一、df.Series基础参数:values--获取数组;index--获取索引;name--values的name;index.name--索引的name
二、df.DataFrame基础参数:values--获取元素;index--索引、columns--列名;dtypes--类型。
三、查看数据:df.head(n),df.tail(n),n指定行数,默认为5;
四、df.decribe(percentiles=[.25,.5, .8],include=['O'],exclude=None):
percentiles--设定数值型特征的统计量;
include--默认是只计算数值型特征的统计量:
include=['O'],会计算离散型变量的统计特征(非空数量count,唯一值种类unique,出现最多的类型top和出现次数freq);
参数是‘all’的时候,会把数值型和离散型特征的统计都进行显示;
exclude--默认不丢弃任何列,可以丢弃指定列。
五、df.sort_index(by=' ', axis=0, ascending=True, inplace=False, kind='quicksort', na_position='last'):
axis:{0 or ‘index’, 1 or ‘columns’}, default 0,默认按照列排序,即纵向排序;如果为1,则是横向排序。
by:str or list of str;如果axis=0,那么by="列名";如果axis=1,那么by="行名"。
ascending:布尔型,True则升序,如果by=['列名1','列名2'],则该参数可以是[True, False],即第一字段升序,第二个降序。
inplace:布尔型,是否用排序后的数据框替换现有的数据框。
kind:排序方法,{‘quicksort’, ‘mergesort’, ‘heapsort’}, default ‘quicksort’。似乎不用太关心。
na_position:{‘first’, ‘last’}, default ‘last’,默认缺失值排在最后面。
六、df.sort_values(by=‘##’,axis=0,ascending=True, inplace=False, na_position=‘last’):参数意义和sort_index()的一样。
七、df.loc[: , : ]:
前面为行索引,后面为列索引;
df.loc[df["duration"].isin([100])],isin函数是series用来判断值是否在series 里;
df.query("duration > 100 & index == 'UK'"),用来判断条件符合的数据集并返回。
iloc比较简单,它是基于索引位来选取数据集。
八、df2.reindex(date_index2, method='ffill'):
method(只适用于index是单调递增或者单调递减的情形)参数意义:
None:任性不填;
'pad'/'ffill':用前面数填充后面的缺失值;
'backfill'/'bfill':用后面数填充前面的缺失值;
'nearest':用最近的数填充,这个是最靠谱的;
九、df1.dropna()参数意义:
axis default 0指行,1为列
how {‘any’, ‘all’}, default ‘any’指带缺失值的所有行;'all’指清除全是缺失值的行
thresh int,保留含有int个非空值的行
subset 对特定的列进行缺失值删除处理
inplace 这个很常见,True表示就地更改
十、df.fillna()参数意义:
inplace参数的取值:True、False
method参数的取值 : {‘pad’, ‘ffill’,‘backfill’, ‘bfill’, None}, default None
pad/ffill:用前一个非缺失值去填充该缺失值
backfill/bfill:用下一个非缺失值填充该缺失值
None:指定一个值去替换缺失值(缺省默认这种方式)
limit参数:限制填充个数
axis参数:修改填充方向,1行,0列
十一、数据处理三板斧。
map(),把数据集中gender列的男替换为1,女替换为0:
data["gender"] = data["gender"].map({"男":1,"女":0});
apply(function,axis=):
data[["height","weight","age"]].apply(np.log, axis=0);
applymap(),会对DataFrame中的每个单元格执行指定函数的操作:
df.applymap(lambda x:"%.2f" % x);
十二、value_counts(),查看表格某列中有多少个不同值,并计算每个不同值有在该列的个数:
sort=True,#是否排序,默认是要排序;
ascending=False,#默认降序排列;
normalize=False,#标准化、转化成百分比形式;
bins=None,#可以自定义分组区间,默认是没有,但也可以自定义区间;
dropna=True,#是否删除nan,默认删除
十三、concat()
pandas API文档链接:https://pandas.pydata.org/pandas-docs/stable/reference/offset_frequency.html
--终--