Numpy學習筆記 1
[讓我看看]
1 常量
1.1 numpy.nan
import numpy as np
print(np.nan == np.nan)
print(np.nan != np.nan)
(1)np.nan不是一個空物件,用i is None 判斷是False 用np.isnan()判斷是True
(2)對某個值判斷是否為控制時,只能用np.isnan(i)函式,絕不可能用 i==np.nan()!!!
(3)因為空值不能用判斷相等的"=="正確識別
np.nan非空物件,其型別為基本資料型別float
1.2 numpy.inf
numpy中的inf表示一個無限大的正數
1.3 numpy.pi
numpy.pi 表示圓周率
1.4 numpy.e
numpy.e 表示自然常數
2 資料型別
2.1常見資料型別
Python 原生的資料型別相對較少, bool、int、float、str等。這在不需要關心資料在計算機中表示的所有方式的應用中是方便的。然而,對於科學計算,通常需要更多的控制。為了加以區分 numpy 在這些型別名稱末尾都加了“_”。
下表列舉了常用 numpy 基本型別
2.2 建立資料型別
numpy 的數值型別實際上是 dtype 物件的例項
每個內建型別都有一個唯一定義它的字元程式碼,如下:
itemsize輸出array元素的位元組數
2.3資料型別資訊
Python 的浮點數通常是64位浮點數,幾乎等同於 np.float64。
NumPy和Python整數型別的行為在整數溢位方面存在顯著差異,與 NumPy 不同,Python 的int 是靈活的。這意味著Python整數可以擴充套件以容納任何整數並且不會溢位。
整數型別的機器限制
浮點型別的機器限制。
class finfo(object):
def _init(self, dtype):
3 時間日期和時間增量
3.1 datetime64 基礎
在 numpy 中,我們很方便的將字串轉換成時間日期型別 datetime64(datetime 已被 python 包含的日期時間庫所佔用)。
datatime64是帶單位的日期時間型別,其單位如下:
從字串建立 datetime64 型別時,預設情況下,numpy 會根據字串自動選擇對應的單位
從字串建立 datetime64 型別時,可以強制指定使用的單位。
由上例可以看出,2019-03 和 2019-03-01 所表示的其實是同一個時間。 事實上,如果兩個 datetime64 物件具有不同的單位,它們可能仍然代表相同的時刻。並且從較大的單位(如月份)轉換為較小的單位(如天數)是安全的。
從字串建立 datetime64 陣列時,如果單位不統一,則一律轉化成其中最小的單位。
使用arange()建立 datetime64 陣列,用於生成日期範圍
3.2 datetime64 和 timedelta64 運算
timedelta64 表示兩個 datetime64 之間的差。timedelta64 也是帶單位的,並且和相減運算中的兩個 datetime64 中的較小的單位保持一致。
生成 timedelta64時,要注意年(‘Y’)和月(‘M’)這兩個單位無法和其它單位進行運算(一年有幾天?一個月有幾個小時?這些都是不確定的)。
timedelta64 的運算。
numpy.datetime64 與 datetime.datetime 相互轉換
datetime64 的應用
為了允許在只有一週中某些日子有效的上下文中使用日期時間,NumPy包含一組“busday”(工作日)功能。
numpy.busday_offset(dates, offsets, roll=‘raise’, weekmask=‘1111100’, holidays=None, busdaycal=None, out=None) First adjusts the date to fall on a valid day according to the roll rule, then applies offsets to the given dates counted in valid days.
引數roll:{‘raise’, ‘nat’, ‘forward’, ‘following’, ‘backward’, ‘preceding’, ‘modifiedfollowing’, ‘modifiedpreceding’}
‘raise’ means to raise an exception for an invalid day.
‘nat’ means to return a NaT (not-a-time) for an invalid day.
‘forward’ and ‘following’ mean to take the first valid day later in time.
‘backward’ and ‘preceding’ mean to take the first valid day earlier in time.
將指定的偏移量應用於工作日,單位天(‘D’)。計算下一個工作日,如果當前日期為非工作日,預設報錯。可以指定 forward 或 backward 規則來避免報錯。(一個是向前取第一個有效的工作日,一個是向後取第一個有效的工作日)
可以指定偏移量為 0 來獲取當前日期向前或向後最近的工作日,當然,如果當前日期本身就是工作日
要注意!!一開始想不懂以為錯了,後來明白forward向前就是向未來看,backward是向過去看
返回指定日期是否是工作日。
統計一個 datetime64[D] 陣列中的工作日天數。
返回兩個日期之間的工作日數量。
相關文章
- Numpy學習筆記筆記
- numpy的學習筆記\pandas學習筆記筆記
- python——numpy學習筆記Python筆記
- 【numpy學習筆記】 Array processing筆記
- 【numpy學習筆記】矩陣操作筆記矩陣
- numpy學習筆記 – numpy陣列的常見用法筆記陣列
- 學習筆記1筆記
- 學習筆記-1筆記
- 【numpy學習筆記】陣列的切片,索引,迭代筆記陣列索引
- Numpy學習 Day1
- [開源庫學習] Numpy日記 Section.1
- python學習筆記(1Python筆記
- Vue學習筆記1Vue筆記
- swift學習筆記《1》Swift筆記
- HTML學習筆記1HTML筆記
- ADworld學習筆記(1)筆記
- flex:1學習筆記Flex筆記
- git學習筆記 1Git筆記
- git學習筆記1Git筆記
- SLAM學習筆記(1)SLAM筆記
- golang 學習筆記1Golang筆記
- HTML學習筆記(1)HTML筆記
- hibernate學習筆記(1)筆記
- spring學習筆記(1)Spring筆記
- Leetcode學習筆記(1)LeetCode筆記
- React學習筆記1—起步React筆記
- webpack1學習筆記Web筆記
- Scrapy 框架 (學習筆記-1)框架筆記
- Spring框架學習筆記(1)Spring框架筆記
- 【numpy學習筆記】陣列的建立和基本運算筆記陣列
- 【numpy學習筆記】陣列的儲存和下載筆記陣列
- 01_Numpy學習筆記(下):輸入和輸出筆記
- Vue(1)之—— Vuex學習筆記Vue筆記
- Node.js學習筆記1Node.js筆記
- <node.js學習筆記(1)>Node.js筆記
- vue原始碼學習筆記1Vue原始碼筆記
- Hadoop學習筆記——————1、Hadoop概述Hadoop筆記
- shell指令碼學習筆記-1指令碼筆記