網站首頁 編程語言 正文
為了更好的理解這些基本操作,下面會通過讀取一個股票數據,來進行Pandas基本數據操作的語法介紹。
# 讀取文件(讀取保存文件后面會專門進行講解,這里先直接調用下api) data = pd.read_csv("./data/stock_day.csv") ?# 讀取當前目錄下一個csv文件 # 刪除一些列,讓數據更簡單些,再去做后面的操作 data = data.drop(["ma5","ma10","ma20","v_ma5","v_ma10","v_ma20"], axis=1)
1 索引操作
Numpy當中我們已經講過使用索引選取序列和切片選擇,pandas也支持類似的操作,也可以直接使用列名、行名稱,甚至組合使用。
1.1 直接使用行列索引(先列后行)
舉例:獲取2018-02-27 這天閉盤價,即獲取’2018-02-27’這天的’close’的結果。
# 直接使用行列索引名字的方式(先列后行) data['close']['2018-02-27'] 24.16 # 不支持的操作 # 錯誤 data['2018-02-27']['close'] # 錯誤 data[:1, :2]
1.2 結合loc或者iloc使用索引
獲取從’2018-02-27’:‘2018-02-22’,'close’的結果
# 使用loc:只能指定行列索引的名字 data.loc["2018-02-25":"2018-02-14", "open":"low"]
# 使用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
1.3 使用ix組合索引
獲取行第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'])] open close high low 2018-02-27 23.53 24.16 25.88 23.53 2018-02-26 22.80 23.53 23.78 22.80 2018-02-23 22.88 22.82 23.37 22.71 2018-02-22 22.25 22.28 22.76 22.02
2 賦值操作
對DataFrame當中的close列進行重新賦值為1
# 直接修改原來的值 data['close'] = 1 # 或者 data.close = 1
3 排序
排序有兩種形式,一種對于索引進行排序,一種對于內容進行排序
3.1 DataFrame排序
使用df.sort_values(by=, ascending=)
單個鍵或者多個鍵進行排序,
參數:
1.by:指定排序參考的鍵
2.ascending:默認升序
- ascending=False:降序
- ascending=True:升序
# 按照開盤價大小進行排序 , 使用ascending指定按照大小排序,取前5行數據 data.sort_values(by="open", ascending=True).head() # 按照多個鍵進行排序 data.sort_values(by=['open', 'high'])
使用df.sort_index給索引進行排序
股票的日期索引原來是從大到小,現在重新排序,從小到大。
# 對索引進行排序 data.sort_index()
3.2 Series排序
使用series.sort_values(ascending=True)進行排序
series排序時,只有一列,不需要參數。
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
使用series.sort_index()進行排序,和Dataframe方法一致
# 對索引進行排序 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
原文鏈接:https://blog.csdn.net/hhladminhhl/article/details/109180108
相關推薦
- 2022-04-04 webpack-插件: plugin的使用(clean-webpack-plugin)
- 2022-10-11 XGBoost與GBDT和LGBM區別
- 2022-04-28 pytorch中torch.topk()函數的快速理解_python
- 2023-03-16 Python中的functools?partial詳解_python
- 2022-05-22 詳解如何創建一個.NET?Core工程_實用技巧
- 2022-04-28 WPF依賴屬性用法詳解_實用技巧
- 2022-07-14 python?中的requirements.txt?文件的使用詳情_python
- 2022-07-06 c#?復寫Equals方法的實現_C#教程
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支