3 基本数据操作
学习目标
目标
记忆DataFrame的形状、行列索引名称获取等基本属性
应用Series和DataFrame的索引进行切片获取
应用sort_index和sort_values实现索引和值的排序
为了更好的理解这些基本操作,我们将读取一个真实的股票数据。关于文件操作,后面在介绍,这里只先用一下API
# 读取文件
data = pd.read_csv("./data/stock_day.csv")
# 删除一些列,让数据更简单些,再去做后面的操作
data = data.drop(["ma5","ma10","ma20","v_ma5","v_ma10","v_ma20"], axis=1)
1 索引操作
Numpy当中我们已经讲过使用索引选取序列和切片选择,pandas也支持类似的操作,也可以直接使用列名、行名
称,甚至组合使用。
1.1 直接使用行列索引(先列后行)
获取'2018-02-27'这天的'close'的结果
1.2 结合loc或者iloc使用索引
获取从'2018-02-27':'2018-02-22','open'的结果
1.3 使用ix组合索引
Warning:Starting in 0.20.0, the
.ixindexer is deprecated, in favor of the more strict.ilocand.locindexers.
获取行第1天到第4天,['open', 'close', 'high', 'low']这个四个指标的结果
2 赋值操作
对DataFrame当中的close列进行重新赋值为1
3 排序
排序有两种形式,一种对于索引进行排序,一种对于内容进行排序
3.1 DataFrame排序
使用df.sort_values(by=, ascending=)
单个键或者多个键进行排序,
参数:
by:指定排序参考的键
ascending:默认升序
ascending=False:降序
ascending=True:升序


使用df.sort_index给索引进行排序
这个股票的日期索引原来是从大到小,现在重新排序,从小到大

3.2 Series排序
使用series.sort_values(ascending=True)进行排序
series排序时,只有一列,不需要参数
使用series.sort_index()进行排序
与df一致
Last updated