1.Series:一种类似于一维数组的对象,是由一组数据(各种NumPy数据类型)以及一组与之相关的数据标签(即索引)组成。仅由一组数据也可产生简单的Series对象。#Series中的索引值是可以重复的。(一维的数据结构)
2.Dataframe:一个表格型的数据结构,包含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔型等),Dataframe即有行索引也有列索引,可以被看做是由Series组成的字典。(二维的、表格型(如excel)的数据结构)
二、数据表信息查看 1.维度查看: df.shape 2、数据表基本信息(维度、列名称、数据格式、所占空间等): df. info()3、每一列数据的格式:
df.dtypes
4、某一列格式:
df['B'].dtype
5、查看数据表的值: df.values 6、查看列名称: df.columns 7、查看前5行数据、后5行数据: df.head() #默认前5行数据 df.tail() #默认后5行数据 三、数据表清洗1.df.fillna(value=0) 用数字0填充空值
2.df['prince'].fillna(df['prince'].mean()) 使用列prince的均值对NA进行填充
3.df['city']=df['city'].map(str.strip) 清除city字段的字符空格
4.df['a']=df['a'].str.lower() 大小写转换
5.df['price'].astype('int') 更改数据格式
6.df.rename(columns={'category': 'category-size'}) 更改列名称
7.df['city'].drop_duplicates() 删除后出现的重复值
8.df['city'].drop_duplicates(keep='last') 删除先出现的重复值
9.df['city'].replace('sh', 'shanghai') 数据替换
.loc[] 具有多种访问方法,如下所示:
一个标量标签 标签列表 切片对象 布尔数组
loc[] 接受两个参数,并以','分隔。第一个位置表示行,第二个位置表示列。
2.df.iloc[] 只能使用整数索引,不能使用标签索引,通过整数索引切片选择数据时,前闭后开(不包含边界结束值)。同 Python 和 NumPy 一样,它们的索引都是从 0 开始。
.iloc[] 提供了以下方式来选择数据:
1) 整数索引2) 整数列表3) 数值范围 五、Pandas merge合并操作
Pandas 提供的 merge() 函数能够进行高效的合并操作,这与 SQL 关系型数据库的 MERGE 用法非常相似。从字面意思上不难理解,merge 翻译为“合并”,指的是将两个 Dataframe 数据表按照指定的规则进行连接,最后拼接成一个新的 Dataframe 数据表。
merge() 函数的法格式如下:
pd.merge(left, right, how='inner', on=None, left_on=None, right_on=None,left_index=False, right_index=False, sort=True,suffixes=('_x', '_y'), copy=True)
参数说明,如下图所示:
使用how参数合并通过how参数可以确定 Dataframe 中要包含哪些键,如果在左表、右表都不存的键,那么合并后该键对应的值为 NaN。将 how 参数和与其等价的 SQL 语句做总结:
| Merge方法 | 等效 SQL | 描述 |
|---|---|---|
| left | LEFT OUTER JOIN | 使用左侧对象的key |
| right | RIGHT OUTER JOIN | 使用右侧对象的key |
| outer | FULL OUTER JOIN | 使用左右两侧所有key的并集 |
| inner | INNER JOIN | 使用左右两侧key的交集 |
Pandas IO 操作提供了一些读取器函数,比如 pd.read_csv()、pd.read_json 等,它们都返回一个 Pandas 对象。
在 Pandas 中用于读取文本的函数有两个,分别是: read_csv() 和 read_table() ,它们能够自动地将表格数据转换为 Dataframe 对象。其中 read_csv 的语法格式,如下:
pandas.read_csv(filepath_or_buffer, sep=',', delimiter=None, header='infer',names=None, index_col=None, usecols=None)七、Pandas index操作索引
索引(index)是 Pandas 的重要工具,通过索引可以从 DataFame 中选择特定的行数和列数,这种选择数据的方式称为“子集选择”。在 Pandas 中,索引值也被称为标签(label),它在 Jupyter 笔记本中以粗体字进行显示。索引可以加快数据访问的速度,它就好比数据的书签,通过它可以实现数据的快速查找。
创建索引创建一个带有 index 索引的数据,并使用 read_csv() 这些读取数据
设置索引set_index() 将已存在的列标签设置为 Dataframe 行索引。除了可以添加索引外,也可以替换已经存在的索引。比如您也可以把 Series 或者一个 DataFrme 设置成另一个 Dataframe 的索引。
重置索引可以使用 reset_index() 来恢复初始行索引



