Python数据分析:pandas 类库及常用方法

定义:pandas是基于NumPy数组构建的,使数据预处理、清洗、分析工作变得更快更简单。pandas是专门为处理表格和混杂数据设计的,而NumPy更适合处理统一的数值数组数据。

import pandas as pd

数据结构:Series | DataFrame。

Series:pd.Series(list,index=[ ]) 类似于一维数组的得对象,是由一组数据+一列索引组成。可以使用切片,运算等操作,类似于ndarray。

DataFrame:pd.DataFrame(data,columns = [ ],index = [ ]) 是一个表格形的数据类型。常用类型。axis = 1 列  axis = 0 行

数据转换:

1:pd.DataFrame(Series) 可以把Series结构变为DataFrame。

2:DataFrame.values 可以把DataFrame结构变为 一个numpy 的ndarray。也可以通过索引或者列名获得一个Series。df['列名'] 或者 df.列名。

常用方法:

1,df.reset_index(drop=True) 重置索引,会创建一个新对象。默认保留原来索引,加上drop=True删除原来索引。

2,df.set_index() 设置一列索引。

3,df.drop() 删除指定行值或列值(axis = 1 列  axis = 0 行,默认为行)。

df.drop(index=df[df["价格"].isnull()].index, inplace=True) # 例如:删除价格为空的所有行

4,del df['列'] 删除一列值。

5,df.dropna() 删除指定的行或者列 为空 的值。

6,df.drop_duplicated() 删除重复值,可指定列,指定保留第一行,或者最后一行。

7,df.loc['行','列']  通过标签定位数据,df.iloc[:] 通过索引定位数据。

8,df.sort_values('列',axis=0, ascending=True) 排序。Series不需要参数列,ascending默认True升序。

9,df.describe() 快速列出数据的概要,多个维度的汇总统计。

10,df.info() 索引,数据类型,内存信息等。

11,df.unique() 返回一个Series里面唯一值组成的数组。

12,df.sum() 计算一列的和。

13,df.count()  计算非NaN值的总量。

14,df.mean() 计算一列的平均值。

15,df.median() 计算一列的中位数。

16,df.mode() 计算一列的众数。

17,df.var() 计算一列的方差。

18,df.std() 计算一列的标准差。

19,df.min() 计算一列的最小值。

20,df.max() 计算一列的最大值。

21,df.value_counts() 计算一列中数据出现的频率。

22,df.groupby() 分组。

23,df.head() 取出数据的前几行。

24,df.tail() 取出数据的后几行。

25,read_csv(),read_excel(),read_sql(),read_json(),read_html() 等.... pandas提供的读取数据方法。

26,to_excel() 写入excel文件,可以用pd.ExcelWriter()申明对象存储多个sheet。

27,pd.contact() ,pd.append() 行数据合并拼接,只在axis = 0上操作。

28,pd.merge() 数据关联操作,类sql,可以设置关联方向:left, right,inner,outer。 join()类merge,但是只能在索引关联。

29,pd.rename(columns={'原名':'修改名'}, inplace = True) 修改列名。

30,df['列'].fillna(0) 把一列里面为空的赋值为0.

31,df['列'].astype(int) 转换一列数据类型。

32,df.agg() 指定列或者行上 一个或者多个操作数据聚合。

33,df.sort_values(by=['列'],ascending=False).groupby(['列']).head(3) 根据一列排序,并根据另一列取出前几行

34,df.insert(1, '列1, 1, allow_duplicates=False) 在指定的位置插入列1

...后续陆续加入

posted @ 2020-07-16 13:24  wish_yang  阅读(418)  评论(0编辑  收藏  举报