pythonaxis
㈠ python數據分析模塊:numpy、pandas全解
一維數組情況:
二維數組情況:
3參數情況:
2參數情況:
1參數情況:
一維情況:
二維情況:
一維情況:
二維情況:
一維情況:
二維情況:第三個參數指定維度
只查看行數、或者列數
逗號隔開兩個索引
某些行
某些列
可以看出append()函數在二維數組中添加元素,結果轉為了一維數組。
那怎麼保持二維數組呢?可以設置axis參數按行或者按列添加
可以看出先把二維數組降成了一維數組,再在索引為1的位置添加元素。
那麼怎麼保持在二維添加元素呢? 同樣設置axis參數
也分按行和按列刪除
標記缺失值: isnan()函數
補充缺失值:
同樣axis參數可以指定拼接按行還是按列
2. hstack()函數:以水平堆疊的方式拼接數組
3. vstack()函數:以垂直堆疊的方式拼接數組
第二個參數還可以是數組,指定拆分的位置
hsplit()函數:橫向拆成幾個數組
vsplit()函數:縱向拆成幾個數組
數組與數組之間的運算
數組與數值的運算
可以指定整個數組求和,還是按行或者按列
axis=0:每一列的元素求和
axis=1:每一行的元素求和
axis=0:每一列求均值
axis=1:每一行求均值
axis=0:每一列求最大值
axis=1:每一行求最大值
pandas有兩個重要的數據結構對象:Series和DataFrame。
Series是創建一個一維數組對象,會自動生成行標簽。
會自動生成行列標簽
也可以用字典形式生成數據
在用字典生成數據的基礎上,同時指定行標簽
例如對下表的數據進行讀取
4月是第四個表,我們應把sheet_name參數指定為3;因為索引是從0開始的。
可以看出read_excel()函數自動創建了一個DataFrame對象,同時自動把第一行數據當做列標簽。
可以看出不給出header參數時,該參數默認為0。
header=1時結果如下:
header=None時結果如下:
index_col=0時,第0列為列標簽
index_col=0時
usecols=[2]:指定第二列
指定多列
數據如下:
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-j1SHxY8y-1637655972909)(C: ypora-user-imagesimage-20211114192949607.png)]
nrows=3時
head()函數中參數為空默認前5行
指定head(3)時如下
numpy模塊也是shape
查看特定列的書庫類型
特定列數據類型轉換
先查看一下所有數據
與單行相比,結果顯示的格式不一樣了
iloc()挑選:
或者給出區間
挑選數據要麼標簽,要麼索引挑選
或者
或者寫成區間
標簽挑選
或者索引挑選
先查看一下數據
或者用字典一對一修改
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-a6QKIoie-1637655972912)(C: ypora-user-imagesimage-20211123110431201.png)]
isin()函數查看錶中是否有該值
查看特定列是否有該值
可以看出上述代碼並沒有替換,那怎麼替換呢?
末尾插入一列
指定插入到哪列
axis參數可以指定刪除行還是刪除列
指定標簽刪除
指定索引刪除
方法三
指定行標簽刪除
指定索引刪除
方法三:
先查看所有數據
info()函數查看數據類型,還可以查看是否有缺失值
isnull()函數查看是否有缺失值
在numpy模塊中用isnan()函數
刪除有缺失值的行
刪除整行都為缺失值的行: 需要指定how參數
不同列的缺失值設置不同的填充值
默認保留第一個重復值所在的行,刪除其他重復值所在的行
保留第一個重復值所在的行
保留最後一個重復值所在的行
是重復的就刪除
降序如下
參數指定first時,表示在數據有重復值時,越先出現的數據排名越靠前
獲取產品為單肩包的行數據
獲取數量>60的行數據
獲取產品為單肩包 且 數量>60 的行數據
獲取產品為單肩包 或 數量>60 的行數據
stack()函數轉換成樹形結構
how參數指定外連接
on參數指定按哪一列合並
concat()函數採用 全連接 的方式,沒有的數設置為缺失值
重置行標簽
效果與concat()一樣
末尾添加行元素
指定列求和
指定列求均值
指定列求最值
獲取單列的
corr()函數獲取相關系數
獲取指定列與其他列的相關系數
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-46g9qgQw-1637655972913)(C: ypora-user-imagesimage-20211123135643804.png)]
groupby()函數返回的是一個DataFrameBy對象,該對象包含分組後的數據,但是不能直觀地顯示出來。
分組後獲取指定列的匯總情況
獲取多列的匯總情況
獲取多列的情況
ta = pd.read_excel(『相關性分析.xlsx』)
print(data)
corr()函數獲取相關系數
獲取指定列與其他列的相關系數
[外鏈圖片轉存中…(img-46g9qgQw-1637655972913)]
groupby()函數返回的是一個DataFrameBy對象,該對象包含分組後的數據,但是不能直觀地顯示出來。
分組後獲取指定列的匯總情況
獲取多列的匯總情況
獲取多列的情況
㈡ python axis=0是代表的行還是列
axis=0表示數組的第0軸,因為h本來就只包含1列,你直接做數組運算一下x.sum()就知道了。
㈢ Python對數據進行排序-中英文
sort_values(by,axis=0,ascending=True,inplace=False,kind='quicksort',na_position='last')
參數說明:
by: 可以填入字元串或者字元串組成的列表。也就是說, 如果axis=0,那麼by="列名";如果axis=1,那麼by="行名"。
axis: {0 or 『index』, 1 or 『columns』}, default 0,意思就是如果 axis=0,就按照索引排序,即縱向排序;如果axis=1,則按列排序,即橫向排序。默認是axis=0 。
ascending: 輸入布爾型, True是升序 , False是降序 ,也可以可以是[True,False],即第一個欄位升序,第二個欄位降序 。
inplace : 輸入布爾型,是否用排序後的數據框替換現有的數據框
kind: 排序的方法,{『quicksort』, 『mergesort』, 『heapsort』},默認是使用『quicksort』。這個參數用的比較少,大家可以試一試。
na_position : {『first』, 『last』}, 缺失值的排序 ,也就說決定將缺失值放在數據的最前面還是最後面 。first是排在前面,last是排在後面,默認是用last 。
例子:
scores= pd.DataFrame([[87,56,85],[46,87,97],[34,65,86]],columns=['jack', 'rose', 'mike'])
scores
1.對『rose』這一列進行降序排序:
df_sc=scores.sort_values(by='rose',ascending=False)
df_sc
2.對第0行進行升序排序:
scores.sort_values(by=0,axis=1,ascending=True)
3.第1行進行升序,第0行進行降序:
scores.sort_values(by=[1,0],axis=1,ascending=[True,False]
4.觀察數據
data.head:
查看數據的前五行。
data.tail:
查看數據的後五行。
data.shape :
查看矩陣或數組的維數,或者是說數據表的結構(有幾行幾列)。
data.info :
查看數據的基本信息,如:數據類型、缺失值數量等。
#brand目標:中文-中英-英文
2.1 包含中文,純英文
for i in range(0,len(file1)):
result = re.compile(u'[\u4e00-\u9fa5]')
contents = file1['brand'][i]
match = result.search(contents)
if match:
file1.loc[i,['index1']]=0 #0為包含中文
else:
file1.loc[i,['index1']]=1 #1為純英文
2.1 包含英文,純中文
for i in range(0,len(file1)):
file1.loc[i,['index2']]=len(re.findall('[a-zA-Z]+', file1['brand'][i]) ) #0為純中文,1為包含英文
㈣ python axis是什麼意思
python axis的意思是:1、【axis=0】表述列,【axis=1】表述行;2、等式【axis=i】操作就是沿第i維變化的方向進行。
python axis的意思是:
axis=0表述列
axis=1表述行
就記住axis=i,操作就是沿第i維變化的方向進行;
對於一個4*3*2*3的數組:
axis=0,操作時只有第0維的下標變化其他不變。
axis=1,操作時只有第1維的下標變化其他不變。
axis=2,操作時只有第2維的下標變化其他不變。
axis=3,操作時只有第3維的下標變化其他不變。
相關學習推薦:python視頻
以上就是小編分享的關於python axis是什麼意思的詳細內容希望對大家有所幫助,更多有關python教程請關注環球青藤其它相關文章!
㈤ Python-matplotlib繪制帶箭頭x-y坐標軸圖形
在Python的數據可視化庫中,採用matplotlib繪制相關圖形時,若不加任何設定,一般的x-y坐標軸是不帶箭頭且是一個封閉的矩形。我們以Sigmoid函數的繪制,給大家展示一下。
matplotlib的輔助工具,包含一系列對坐標軸設置的框架。其中的axisartist包就用來設置坐標軸的類型。
1.創建畫布並引入axisartist工具。
2.繪制帶箭頭的x-y坐標軸
我們先把原始的如上圖的所有坐標軸隱藏,即長方形的四個邊。
然後用ax.new_floating_axis在繪圖區添加坐標軸x、y,這里的ax.new_floating_axis(0,0),第一個0代表平行直線,第二個0代表該直線經過0點。同樣,ax.axis["y"] = ax.new_floating_axis(1,0),則代表豎直曲線且經過0點。
再次,x.axis["x"].set_axisline_style("->", size = 1.0)表示給x軸加上箭頭,"->"表示是空箭頭,size = 1.0表示箭頭大小。ax.axis["y"].set_axisline_style("-|>", size = 1.0)中"-|>"則是實心箭頭。
最後,設置x、y軸上刻度顯示方向,對於x軸是刻度標簽在上面還是下面,y軸則是刻度標簽在左邊還是右邊。
3.在帶箭頭的x-y坐標軸背景下,繪制函數圖像
tist坐標軸工具——將原始坐標軸均隱藏掉——添加新的基於原點的x與y軸——為新坐標軸加入箭頭,並設置刻度顯示方式——加入圖形。