Pandas-01-基本数据操作
- 导入数据
# 读取文件
data = pd.read_csv("./data/stock_day.csv")
# 删除一些无用列
data = data.drop(["ma5", "ma10", "ma20", "v_ma5", "v_ma10", "v_ma20"], axis=1)
1. 索引操作
-
直接行列索引(先列后行)
# 先列后行 data["open"]["2018-02-27"] # 23.53 # 取前两行的high和low data[0:2][["high", "low"]] # 不支持的操作 # 先行后列 data["2018-02-27"]["open"] # 切片 data[:1, :2] -
使用loc和iloc索引
# loc:仅支持行列名索引 data.loc["2018-02-27":"2018-02-14", "open":"close"] # iloc:通过下标进行索引 data.iloc[:3, :5] # 前3行,前5列 -
使用ix组合索引
在pandas 0.20.0版本中此方法被废弃,使用.iloc和.loc组合索引。
获取第1-4天,["open", "close", "high", "low"]这四个指标的结果
# 使用ix进行下标和列名组合索引 data.ix[0:4, ["open", "close", "high", "low"]] # 推荐使用loc和iloc组合 data.loc[data.index[0:4], ["open", "close", "high", "low"]] # 或 data.iloc[0:4, data.columns.get_indexer(["open", "close", "high", "low"])]
2. 赋值操作
# 直接修改原来的值
data["close"] = 1
# 或者
data.close = 1
3. 排序
3.1. DataFrame排序
-
使用
dataframe.sort_values(by=,ascending=)- 指定单个键或多个键进行排序
- 参数:
- by:指定排序参考的键
- ascending:默认升序
ascending=True:升序ascending=False:降序
# 根据开盘价降序排序 data.sort_values(by="open", ascending=False).head() # 根据开盘价和最高价升序排序 data.sort_values(by=["open", "high"], ascending=True).head() -
使用
dataframe.sort_index()以索引进行排序默认升序,同样可以指定
ascending=False来进行降序排序# 以行(日期)进行升序排序 data.sort_index()
3.2. Series排序
-
使用
series.sort_values(ascending=)以列排序data["high"].sort_values().head() -
使用
series.sort_index(ascending=)以索引排序data["high"].sort_index(ascending=False).head()

浙公网安备 33010602011771号