js表格中将每行的两个数据求和显示_python数据分析相关【一】
一、numpy簡單運算
- 數組運算--可以理解為矩陣運算
- dtype屬性可以顯示數據類型,并可以通過其指定數據類型
- 可以通過astype方法調整數據類型
- 通過numpy生成小數數組,并使用np.round()保留特定位數小數
- np.arrange(12)-->生成一維數組
- np.array([[1,2,3],[4,5,6]])
- 通過t.shape可以看出變量t是幾維數組
- t.reshape 可以幫助我們修改形狀,可以把一維變成二維、三維等
在三維數據中,形狀是(2,3,4)的,2表示數據分為上下兩塊,3表示3行,4表示4列
當然,reshape也可以三維變二維,可以看到reshape是直接有返回值的,并不會改變t3本來的形狀。上一張圖有賦值操作,所以改變了t3的形狀。
三維變二維三維變一維,t3.reshape((24,)),reshape括號中只能填一個數,填2個數還是會變成二維數組
三維變一維- 如果對數組內容未知,如何變成一維呢?①使用t.shape[0],t.shape[1]求解;②使用t.flatten()方法求解:按照行展開。
- 數組和數的計算
加:對數組內每個數組均作相加運算,這是numpy的廣播機制
減乘除:均有廣播機制
/0 出現warning,程序仍可以執行--->0/0=nan 1/0=inf其中,NAN表示not a number,不是一個數字;inf表示無限、無窮的
- 數組和數組的計算
對應相同維度相同形狀的:
加:對應位置相加
減乘除:均為對應位置相加
對應不同維度的、相同數據寬度的:
二維對一維:二維數組中的每行或者每列都與一維數組做運算
每行每列按照行、按照列都不能計算的形狀不同的數組,會報錯。
- 如果兩個數組的后緣維度(即從末尾開始算起的維度) 的軸長度相符或者其中一方的長度為1,則認為它們是廣播兼容的。廣播會在缺失或長度為1的維度上進行。
二、 軸
一維數組、二維、三維
對于一維數組,只有一個0軸;對于二維數組,shape(2,2),有0軸和1軸;以此類推,三維數組有0,1,2三軸。
如何計算二維數組的的平均值,按照axis=0來計算
Numpy讀取數據
Pandas讀取本地數據更加強大。
如何讀取數據
CSV:逗號分隔文件
Csv讀取文件
代碼:np.loadtxt()
默認逗號分隔,默認是科學計數法表示
數組的轉置
多種方法可以實現數組的轉置
t.T 這是個屬性
t.swapaxes(1,0) 交換軸
t.transpose() 轉置
三、索引 切片
取行、取列
取行列的方法類似;對于不連續的多行或多列,通過[]括起來即可。
如何取多個不相鄰的點呢?
numpy中數值的修改
- 簡單修改,對取出來的區域直接賦值即可
- 如何取小于10的值【利用布爾索引】
t2<10-->在數組中符合條件的會顯示True
通過這樣,可以取出符合條件的數值,并進行值得修改
t2[t2<10] = 10
- 三元運算符:np.where(t<10,0,10)
t<10的值賦值為0 t>=10的值賦值10
- clip操作(裁剪):如何做到 小于10的替換為10 大于18的替換為18
通過t.clip(10,18)
其中,nan是什么?nan是一個浮點類型的數據。
可以通過以下代碼:
import即可把數組中某值變成nan
四、numpy中的nan和inf
- nan:not a number 表示不是一個數字
- nan的特性
nan和nan不相等
可以利用兩個nan不相等的性質,判斷數組中的nan的個數
np.count_nonzero(t) -->用來判斷數組中不為0【非0---> True】的數值個數
np.count_nonzero(t!=t) --->用來判斷數組中為NAN的數值個數
np.isnan(t) --->判斷數組中為NAN的數值 效果和t!=t類似
所以也可以用np.count_nonzero(np.isnan(t))
- nan和任何值計算都是nan
- np.sum(t,axis=0) ---->按照0軸方向計算求和、按列方向求和【按照0軸方向求和,所得結果形狀和0軸方向形狀相同】
- np.sum(t,axis=1) ---->按照1軸方向計算求和、按行方向求和
- np.sum(t)----->沒有指定軸,默認求數組所有元素的和
- 在一組數據中,把缺失數據nan不能全部替換為0。一般方式為把缺失的數值替換為均值或者中值,或者直接刪除有缺失值的一行(pandas)
- numpy常用統計函數
- 把數值中的nan替換成均值或中值
五、小結
- 如何選擇一行或多行的數據?
切片或索引,逗號前面是行、逗號后面是列的選擇。
- 如何給選取的行或者列賦值?
t[2:,3] = 3 ---->通過索引選中某值后,再賦值
- 如何把大于10的值替換為10?
通過布爾索引:t[t>10] = 10
- np.where如何使用?
- np.clip如何使用?
- 如何進行轉置?
- 讀取本地文件
- np.nan和np.inf是什么?
nan-->不是一個數字
np.nan != np.nan
np.count_nonzero(np.nan!=np.nan)-->統計數組中有多少個nan
np.isnan(t) -->統計數組中有多少個nan,效果一致
inf---->表示無窮
- 常用的統計函數有幾個?
t.sum(axis=0) ---> 在行方向進行計算,計算每列的和
t.mean(axis=0) --->計算每列的均值
np.median(t,axis=0) ----> np提供的全局方法
t.max()/ t.min() --> 最大/最小值
np.ptp --> 計算極差
t.std ---> 標準差 ---> 反映數據的穩定程度
- 如何繪制直方圖?
1)首先尋找組距:計算一組值的最大值、最小值
2)設置大約的組距d,組數bit_nums=(最大值-最小值)// 組距
3)直方圖需要導入文件
from4)通過matplotlib組件開始畫圖
plt5)可以通過布爾索引,去掉一些極端的值,組距同時也要根據需要更正
- 如何通過散點圖繪制兩個變量x和y之間的關系?
此時如果需要去除一些極端的數值,需要從x,y所屬的數組進行選擇;否則可能不會一一對應
總結
以上是生活随笔為你收集整理的js表格中将每行的两个数据求和显示_python数据分析相关【一】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python装饰器_Python装饰器是
- 下一篇: android mvvm livedat