1. 导入第三方模块
import pandas as pd
import numpy as np
import string
2. 创建Series对象
2.1 通过列表创建Series对象:
默认索引从0开始,可用index指定索引
pd.Series(data=array)
pd.Series(data=array, index=['A', 'B', 'C'])
2.2 通过numpy的对象Ndarray创建Series:
pd.Series(data=n)
s.astype(np.int)
2.3 通过字典创建Series对象:
pd.Series(dict)
3. Series基本操作
3.1 修改Series索引:
s1.index = ['A', 'B', 'C']
3.2 Series纵向拼接:
s1.append(s2)
3.3 删除指定索引对应的元素:
s3.drop('C')
3.4 根据指定的索引查找元素:
s3['B']
3.5 修改指定索引的元素值:
s3['B'] = np.nan
3.6 切片操作(同列表):
s3[:2]
s3[::-1]
s3[-2:]
4. Series计算
4.1 按照对应的索引进行计算(索引不同填充为nan):
加法:s1 + s2
s1.add(s2)
减法:s1 - s2
s1.sub(s2)
乘法:s1 * s2
s1.mul(s2)
除法:s1 / s2
s1.div(s2)
求中位数:s1.median()
求和:s1.sum()
求最大值:s1.max()
求最小值:s1.min()
5. where方法
where方法返回一个与原数据格式相同的数据,将不满足where要求的数据替换为NaN
s1.where(s1>3)
对象中不大于3的元素赋值为10:s1.where(s1 > 3, 10)
对象中大于3的元素赋值为10:s1.mask(s1 > 3, 10)
6. 创建DataFrame数据类型
6.1 通过列表创建:
pd.DataFrame(data=li, index=['A', 'B'], columns=['views', 'loves', 'comments', 'tranfers'])
6.2 通过numpy对象创建:
pd.DataFrame(data=narr, index=['A', 'B'], columns=['views', 'loves', 'comments', 'tranfers'])
6.3 通过字典的方式创建:
pd.DataFrame(data=dict, index=['a1', "a2"])
6.4 日期操作:
periods表示向后推演的天数
pd.date_range(start='today', periods=6)
end表示日期截止时间
pd.date_range(start='1/1/2019', end='12/31/2019', freq='D')
7. DataFrame的基本操作
7.1 查看基础属性:
d.shape # 获取行数和列数
d.dtypes # 列数据类型
d.ndim # 获取数据的维度
d.index # 行索引
d.columns # 列索引
d.values # 对象的值,二维ndarray数组
7.2 数据整体状况的查询:
d.head(1) # 显示头部的几行, 默认5行
d.tail(1) # 显示头部的尾行, 默认5行
# 相关信息的预览: 行数, 列数, 列类型, 内存占用
print("info:", d.info())
# 快速综合用计结果: 计数, 均值, 标准差, 最小值, 1/4位数, 中位数, 3/4位数, 最大值;
d.describe()
7.3 转置操作:
d.T
7.4 按列进行排序:
按照指定列进行排序, 默认是升序, 如果需要降序显示,设置ascending=False
d.sort_values(by="views", ascending=False)
7.5 切片及查询:
d[:1] # 可以实现切片,但是不能索引
d['views'] # 通过标签查询,获取单列信息
d.views
d[['views', 'comments']] # 通过标签查询多列信息
7.6 通过类似索引的方式查询:
iloc(通过位置进行行数据的获取)
d.iloc[0]
loc(t通过标签索引行数据)
d.iloc[-1:]
d.loc['A']
7.7 更改pandas的值:
d.loc['A'] = np.nan
8. 写入、读取数据
8.1 保存为csv格式:
d.to_csv('csvFile.csv')
8.2 从csv文件中读取:
pd.read_csv('csvFile.csv')
8.3 保存为excel格式:
d.to_excel("/tmp/excelFile.xlsx", sheet_name="工作表1")
8.4 从excel文件中读取:
pd.read_excel("/tmp/excelFile.xlsx", sheet_name="工作表1")