1 文件的读取和写入
1.1 文件读取
df_csv = pd.read_csv('data/my_csv.csv')
df_txt = pd.read_table('data/my_table.txt')
df_excel = pd.read_excel('data/my_excel.xlsx')
header=None 表示第一行不作为列名,index_col 表示把某一列或几列作为索引,usecols 表示读取列的集合,默认读取所有的列,parse_dates 表示需要转化为时间的列,nrows 表示读取的数据行数。
1.2 数据写入
把 index 设置为 False
2 基本数据结构
2.1 Series
Series 一般由四个部分组成,分别是序列的值 data 、索引 index 、存储类型 dtype 、序列的名字 name 。其中,索引也可以指定它的名字,默认为空。
2.2 DataFrame
DataFrame 在 Series 的基础上增加了列索引,一个数据框可以由二维的 data 与行列索引来构造
3 常用基本函数
3.1 汇总函数
head, tail 函数分别表示返回表或者序列的前 n 行和后 n 行,其中 n 默认为 5
info, describe 分别返回表的 信息概况和表中 数值列对应的主要统计量
3.2 特征统计函数
sum, mean, median, var, std, max, min
quantile, count, idxmax 这三个函数,它们分别返回的是分位数、非缺失值个数、最大值对应的索引
3.3 唯一值函数
对序列使用 unique 和 nunique 可以分别得到其唯一值组成的列表和唯一值的个数
value_counts 可以得到唯一值和其对应出现的频数
如果想要观察多个列组合的唯一值,可以使用 drop_duplicates 。其中的关键参数是 keep ,默认值 first 表示每个组合保留第一次出现的所在行,last 表示保留最后一次出现的所在行,False 表示把所有重复组合所在的行剔除。
3.4 替换函数
pandas 中的替换函数可以归纳为三类:映射替换、逻辑替换、数值替换
3.5 排序函数
排序共有两种方式,其一为值排序,其二为索引排序,对应的函数是 sort_values 和 sort_index
3.6 apply 方法
apply的参数往往是一个以序列为输入的函数
4 窗口对象
4.1 滑窗对象
要使用滑窗函数,就必须先要对一个序列使用 .rolling 得到滑窗对象,其最重要的参数为窗口大小 window 。
4.2 扩张窗口
扩张窗口又称累计窗口,可以理解为一个动态长度的窗口,其窗口的大小就是从序列开始处到具体操作的对应位置,其使用的聚合函数会作用于这些逐步扩张的窗口上。具体地说,设序列为 a1, a2, a3, a4,则其每个位置对应的窗口即 [a1]、[a1, a2]、[a1, a2, a3]、[a1, a2, a3, a4]。
5 练习
5.1 Ex1:口袋妖怪数据集
df = pd.read_csv('data/pokemon.csv')
(df[['HP', 'Attack', 'Defense', 'Sp. Atk', 'Sp. Def', 'Speed'
....: ]].sum(1)!=df['Total']).mean()
5.2 Ex2:指数加权窗口 .
dp_dup = df.drop_duplicates('#', keep='first')
dp_dup['Type 1'].nunique()
dp_dup['Type 1'].value_counts().index[:3]
attr_dup = dp_dup.drop_duplicates(['Type 1', 'Type 2'])
attr_dup.shape[0]
网友评论