一、创建Series对象的几种方法
import pandas as pd
#传入一个列表
S1=pd.Series(["a","b","c","d"])
#指定索引
S2=pd.Series([1,2,3,4],index=["a","b","c","d"])
#传入一个字典
S3=pd.Series({"a":1,"b":2,"c":3,"d":4})
#获取Series的索引和值
S1.index #索引
S1.values #值
二、创建DataFrame对象的几种方法
import pandas as pd
#传入一个列表
df1 = pd.DataFrame(["a", "b", "c", "d"])
#传入一个嵌套列表
df2 = pd.DataFrame([["a", "A"], ["b", "B"], ["c", "C"], ["d", "D"]])
#指定行、列索引
df3 = pd.DataFrame([["a", "A"], ["b", "B"], ["c", "C"], ["d", "D"]], columns = ["小写", "大写"], index = ["一", "二", "三", "四"])
#传入一个字典
data = {"小写" : ["a", "b", "c", "d"], "大写" : ["A", "B", "C", "D"]} df4 = pd.DataFrame(data)
#获取DataFrame的行、列索引 df.columns #行索引 df.index #列索引
三、Pandas的常用方法
一、Series对象的几种方法
import pandas as pd
#传入一个列表
S1=pd.Series(["a","b","c","d"])
#指定索引
S2=pd.Series([1,2,3,4],index=["a","b","c","d"])
#传入一个字典
S3=pd.Series({"a":1,"b":2,"c":3,"d":4})
#获取Series的索引和值
S1.index #索引
S1.values #值
二、DataFrame对象的几种方法
import pandas as pd
#传入一个列表
df1 = pd.DataFrame(["a", "b", "c", "d"])
#传入一个嵌套列表
df2 = pd.DataFrame([["a", "A"], ["b", "B"], ["c", "C"], ["d", "D"]])
#指定行、列索引
df3 = pd.DataFrame([["a", "A"], ["b", "B"], ["c", "C"], ["d", "D"]], columns = ["小写", "大写"], index = ["一", "二", "三", "四"])
#传入一个字典
data = {"小写" : ["a", "b", "c", "d"], "大写" : ["A", "B", "C", "D"]}
df4 = pd.DataFrame(data)
#获取DataFrame的行、列索引
df.columns #行索引
df.index #列索引
三、Pandas的常用方法
df.head() #默认展示前5行,hend(2)表示展示前2行
df.shape() #获取表的行、列数
df.info() #查看数据表中的数据类型
df.describe() #获取数值分布情况
#缺失值判断处理
df.info() #查看数据表中的数据类型,可以用来判断数据的缺失情况
df.isnull() #判断哪个值是缺失值,判断整个表,不是判断某一个
df.dropna() #默认删除含有缺失值的行,只要该行有缺失值,就整行删除
df.dropna(how = 'all') #只删除所有字段都为空的行
df.fillna(0) #对数据表中的所有空值填充为0
df.fillna({"性别" : "男", "年龄" : "30"}) #传入一个字典,对性别、年龄字段的空值填充
#重复值判断处理
df.drop_duplicates() #默认对所有值进行重复值判断,且默认保留第一个(行)值
df.drop_duplicates(subset = '唯一识别码') #通过"唯一识别码"去重,保留第一个(行)值
df.drop_duplicates(subset = ['客户姓名', '唯一识别码']) #通过列表中的字段去重
'''通过keep参数自定义删除重复项时保留哪个,值:first(保留第一个),last(保留最后一个值),False(删除所有重复值)'''
df.drop_duplicates(subset = ['客户姓名', '唯一识别码'], keep = 'last')
#异常值判断处理
'''
1、划定不同指标的正常范围
2、绘制箱形图,大于或小于正常值的为异常值
3、如果数据服从正态分布,利用3σ原则(如果一个数值与平均值之间的偏差超过3倍标准差,那么这个值就是异常值)
'''
#数据类型转换
df["唯一识别码"].dtype #查看唯一识别码这一列的数据类型
df["唯一识别码"].astype("float64") #转换成float类型
#索引
df.columns = ["订单编号", "客户姓名", "唯一识别码", "成交时间"] #添加列索引
df.index = [1, 2, 3, 4, 5] #添加行索引
df.set_index("订单编号") #重新设置行索引
#重命名索引
df.rename(columns = {"订单编号" : "新订单编号", "客户姓名"