# 导入相关库
import numpy as np
import pandas as pd
# 全部行都能输出
from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = "all"
一、Series
Series是一个带有名称和索引的一维数组,与Numpy的一维array类似。二者与Python基本的数据结构List也很相近;
Series中能保存不同种数据类型,但是每个Series中只能保存一种数据结构;
1、构建Series
pd.Series(['data=None', 'index=None', 'dtype=None', 'name=None'])
2、数据类型转换![](https://i-blog.csdnimg.cn/blog_migrate/c97310daf578c0f21e27ffadac8c9970.png)
3、Series属性
3.1、定义索引名称![](https://i-blog.csdnimg.cn/blog_migrate/fe3fef8ba4809adf17b15d82725ce153.png)
3.2、基本属性![](https://i-blog.csdnimg.cn/blog_migrate/917b60c601689878ba5a1395d36d6f30.png)
4、Series的索引和切片
4.1、按照字典的方式进行索引和切片
把Series当做是一个字典,索引就是字典的 key,数据就是字典的 value。
4.2、Series的.get()方法
如果在Series中无法找到要找的值,可以设定返回默认值;
取范围,首尾都是闭区间
series[起始index:终止index:步长]
a、按照列表(ndarray)的方式进行索引和切片
b、传入索引值序列的方式提取数据
5、对数据进行修改
6、Series掩码提取
在多个逻辑条件下,用或|,且&,非~
7、广播的方法进行计算
二、DataFrame
DataFrame是一个带有索引的二维数据结构;
1、构建DataFrame
-
数据为字典类的格式, 是以列的方式进行组织, 字典的 key 将会作为列名,字典的值value作为列的数据;
-
数据为列表类形式, 是以行的方式进行组织的, 列名需要用参数传入进去;
1.1、字典的方式传入数据
key作为标签,value作为列的数据;
1.2、列表的方式传入数据
1.3、dataframe的属性
2、外部数据的获取与存储
2.1、读取数据
pd.read_csv 所有的文本模式,只要你能用记事本打开的;
- filepath_or_buffer: 文件;
- sep=',', 数据分隔符;
- header='infer', 表头/列名 ,默认,用数据的第一行作为列名. None就是不用数据列名;
- index_col=None, 用哪一列作为行索引;
绝对路径和相对路径:绝对路径是一个完整的路径,有的时候中文字符可能导致问题,尽量用相对路径; 加r:表示后面是个字符串,避免出现转义符导致问题; 同一目录下不需要指定文件夹,用名称加后缀就行,存在当前路径的文件夹;
python encoding参数_pandas中DataFrame对象to_csv()方法中的encoding参数_weixin_39968852的博客-CSDN博客
读取excel
2.2、数据的保存
3、DataFrame的索引和切片
3.1、提取列数据
df.列名/df['列名']
3.2、索引和切片
a、显示索引:
- 语法
df.loc[索引行,索引列];
左右都是闭区间;
- 行可以直接取,列不可以;
序列值索引
b、隐式索引:
iloc
也就是index_loc;
- 可以把数据当做是一个有序列表, 只看数据是处于表中的一个什么位置.;
4、新增/删除列
4.1、新增一列
4.2、删除单列
4.3、删除多列
- DataFrame.drop(index=None, columns=None, inplace=False,axis=0);
- 不会造成原数据的修改,需要赋值或者inplace=False;
5、查看基本信息
5.1、数据详细信息
5.2、统计描述信息
统计方法,官方链接:Descriptive statistics:
http://pandas.pydata.org/pandas-docs/stable/basics.html#descriptive-statistics
- 方法一:直接通过DataFrame抽取出来的单列series使用series的相应统计方法或函数。
- 方法二:通过使用numpy对应的方法或函数,处理目标也是DataFrame抽出来的series。
a、describe:
如果想要查看非数字类型的列的统计指标,可以设置 include=["object"] 来获得。
b、value_counts:
统计某个字段频次分布;
c、head & tail:
d、shape:
e、转置:
6、数据类型转换
7、矢量化计算
7.1、继承ndarrary的计算方法
7.2、掩码提取
多个筛选条件 与 :and & ; 或 or |; 非:not ~;