1.索引操作【掌握】
- 直接索引 -- 先列后行,是需要通过索引的字符串进行获取
# 获取'2018-02-27'这天的'close'的结果
# 获取从'2018-02-27':'2018-02-22','open'的结果
# 直接使用行列索引名字的方式(先列后行)
data['open']['2018-02-27']
23.53
# 不支持的操作
# 错误
data['2018-02-27']['open']
# 错误
data[:1, :2]
- loc -- 先行后列,是需要通过索引的字符串进行获取
- iloc -- 先行后列,是通过下标进行索引
# 使用loc:只能指定行列索引的名字
data.loc['2018-02-27':'2018-02-22', 'open']
2018-02-27 23.53
2018-02-26 22.80
2018-02-23 22.88
Name: open, dtype: float64
# 使用iloc可以通过索引的下标去获取
# 获取前3天数据,前5列的结果
data.iloc[:3, :5]
open high close low
2018-02-27 23.53 25.88 24.16 23.53
2018-02-26 22.80 23.78 23.53 22.80
2018-02-23 22.88 23.37 22.82 22.71
2.赋值【知道】
# 直接修改原来的值
data['close'] = 1
# 或者
data.close = 1
3.排序【知道】
3.1 dataframe
-
对象.sort_values(by=, ascending=)
单个键或者多个键进行排序
by:指定排序参考的键
ascending:默认升序,True 升序,False 降序
# 按照开盘价大小进行排序 , 使用ascending指定按照大小排序
data.sort_values(by="open", ascending=True).head()
# 按照多个键进行排序
data.sort_values(by=['open', 'high'])
# 对索引进行排序
data.sort_index()
3.2 series
-
对象.sort_values(ascending=True):对值排序
data['p_change'].sort_values(ascending=True).head()
2015-09-01 -10.03
2015-09-14 -10.02
2016-01-11 -10.02
2015-07-15 -10.02
2015-08-26 -10.01
Name: p_change, dtype: float64
# 对索引进行排序
data['p_change'].sort_index().head()
2015-03-02 2.62
2015-03-03 1.44
2015-03-04 1.57
2015-03-05 2.02
2015-03-06 8.51
Name: p_change, dtype: float64