中文字幕精品无码一区二区,成全视频在线播放观看方法,大伊人青草狠狠久久,亚洲一区影音先锋色资源

編程處理數據-pandas模塊處理數據 導學案 2021—2022學年 浙教版(2019)高中信息技術必修1

資源下載
  1. 二一教育資源

編程處理數據-pandas模塊處理數據 導學案 2021—2022學年 浙教版(2019)高中信息技術必修1

資源簡介

編程處理數據---pandas模塊處理數據導學案
學習目標:
了解Python常用擴展模塊的功能。
掌握pandas模塊的調用方法、數據結構等基本知識。
3、能使用pandas模塊對數據進行編輯、計算和統計分析,并能從中提取有用信息形成結論。
4、掌握matplotlib模塊的調用方法和使用matplotlib模塊對數據進行可視化的基本方法。
二、知識要點:
pandas模塊(Series和DataFrame模塊)
1.創建Series: pandas.Series(values[,index])
values可以是字典或列表,當是字典時,索引為字典的索引;當是列表時,索引默認從0起遞增的整數,也可添加第二個參數index,指定索引。
默認索引 import pandas as pd s=pd.Series([166,178,180]) print(s) 0 166 1 178 2 180 dtype: int64 指定索引 import pandas as pd s=pd.Series([166,178,180],['s1','s2','s3']) print(s) s1 166 s2 178 s3 180 dtype: int64
常用對象屬性
屬性 說明
index Series的下標索引,其值默認是從0起遞增的整數
values 存放Series值的一個數組
2、DataFrame
是一種二維的數據結構,由1個索引列(index)和若干個數據列組成,每個數據列可以是不同的類型
創建二維數組
例:
創建DataFrame:
①用一個相同長度的列表或字典創建
pandas.DataFrame(data)
相同長度的列表創建 import pandas as pd data=[['A','B','C'],[1,2,3]] s=pd.DataFrame(data) print(s) 運行結果: 0 1 2 0 A B C 1 1 2 3 字典創建 import pandas as pd data={'姓名':['王靜怡','張佳妮','李呈武'],'性別':['女','女','男'],'借閱次數':[28,56,37]} s=pd.DataFrame(data)//也可以再加columns調整數據列順序 print(s) 運行結果: 姓名 性別 借閱次數 0 王靜怡 女 28 1 張佳妮 女 56 2 李呈武 男 37
③直接讀取二維數據文件創建DataFrame對象
二維數據文件有:excel, csv文件等,可使用 read_excel( )函數, read_csv( )函數等
例:
讀取Excel文件 “test.xlsx”中的數據,創建DataFrame對象df
import pandas as pd
df=pd.read_excel(“test.xlsx’) #該文件使用的是相對路徑,所以excel文件要和python保存在同一目錄下
print(df)
DataFrame對象常用屬性
屬性 說明
index DataFrame的行索引
columns 存放各列的列標題
values 存放值的二維數據
T 行列轉置(行變列,列變行)
例:_
for i in df.index:
print(i)
for i in df.columns:
print(i)
for i in df.values:
print(i)
print(df.T)
DataFrame的索引
(一)行索引:
df.head( )默認前5行值和df.tail( )默認后5行值
df.head( n ) 前n行的值,
df.tail(n) 后n行的值
df[n:m] 訪問行索引n至m-1行數據
df[n:n+1]訪問行索引第n行數據
df.values[n]:訪問行索引值是第n的數據
例:
import pandas as pd
df=pd.read_excel(“test.xlsx’)
print(df.head( )) #顯示表格中前5行的數據
(二)列索引:
df[‘列名’] 字典
df.列名 屬性
df[[‘列名’,’列名2’,’列名3’,…’列名n’]]
例:
print(df[‘姓名’])
print(df.信息)
print(df[['姓名','英語','生物']]) #多列值
第n行第n列索引
at[ ] 方法
print(df.at[3, '姓名']) 顯示第4行的姓名值
(三)布爾型數據選取滿足條件:
df[ 條件表達式 ]條件表達式應由df[‘列標題名’] 和關系運算符組成的表達式組成
例:
print (df[df['語文']>108]) 或print(df[df.語文>108])
多個條件篩選:
print(df[(df.語文>100)&(df.數學>110)&(df.英語>100)])
結果:
(四)DataFrame對象中的行列的編輯:
(1)列的操作:
插入、刪除、重命名
直接插入
增加列可以直接通過標簽索引方式進行,當新增的列中的數值不一樣時,可以插入列表或者數組結構進行賦值
from pandas import DataFrame
data = {"name":("張三","李四","王五","趙六"),"sex":("男","女","女","男"), "aged":(20,19,20,21), "score":(80,60,70,90)}
df = DataFrame(data) #使用字典創建DataFrame對象
print(df)
df["city"] = ["北京","西安","長春","珠海"]
print(df)
insert( )函數插入 (影響原始數據)
insert(loc, column, value, allow_duplicates=False)
loc:一個整數,表示第幾列 (默認第0列開始)
column:表示列名
value:該列的值,series.list均可
allow_duplicates:列名是否可以重復,默認值是False
df.insert(2,'height',[178,165,167,180])
print(df)
刪除操作:
drop( )和del操作
drop(by,axis=0) #不影響原始數據
by:標簽名
axis:0行,1列
例:
df_delc=df.drop('city',axis=1)
print(df_delc)
運行結果:
df_del=df.drop(1,axis=0)
print(df_del)
運行結果:
name sex height height aged score city
0 張三 男 178 186 20 80 北京
2 王五 女 167 188 20 70 長春
3 趙六 男 180 190 21 90 珠海
del命令:永久刪除df對象中的列的數據
del df[‘列名’]
del df['city']
print(df)
重命名列操作:
rename()函數 #不改變原序列
格式:rename(columns={'原列名':'更改后列名'})
例:
df_ren=df.rename(columns={'name':'姓名'})
print(df_ren)
(2)行的操作:
append( )追加數據行 # 不改變原序列
例 :
import pandas as pd
df1=pd.DataFrame(`1`,columns=['a'])
df2=pd.DataFrame(`2`,columns=['a'])
df3=pd.DataFrame([3,4],columns=['a'])
df4=df1.append(df2,ignore_index=True) #默認ignore_index=False
df=df4.append(df3)
print(df)
運行結果
drop( )冊除行 #不改變原序列
DataFrame對象中數據的統計與計算
groupby( )函數:可以對DataFrame對象各列或各行的數據進行分組,然后對其中每一組數據進行不同的操作
groupby(by,as_index=True)
by 分類的列標簽,
as_index:True表示以組標簽(列名)為索引,False不以組標簽為索引。
例:
import pandas as pd
df=pd.read_excel('水果銷售.xlsx')
print(df)
g=df.groupby('地區',as_index=True)
print(g.mean())
g=df.groupby('采價點',as_index=True)
print(g.mean())
運行結果
print(pdf.groupby('地區')['價格'].mean())
DataFrame對象中數據的排序
sort_index( )函數的使用:按索引排序
sort_values( )函數的使用:按值排序
sort_values(by,axis=0,ascending=True)
by: 索引(根據選擇的是行還是列,填相應的標簽)
axis:0表示行,表示列
ascending:True升序,False降序
例:
df_sort=df.sort_values(‘價格’,ascending=False) #按價格值降序排序
print(df_sort)
運行結果:
DataFrame常用函數
函數 說明
count() 返回非空(NaN)數據項的數量
sum()、mean() 求和、求平均值,通過axis=0/1確定行列
max()、min() 返回最大、最小值
describe() 返回各列的基本描述統計值,包含計數、
head(n)、tail(n) 返回DataFrame的錢n個、后n個數據記錄
groupby() 對各列或各行中的數據進行分組,然后可對其中每一組數據進行不同的操作
sort_values() 排序,axis=0/1確定行列
drop() 刪除數據,通過axis=0/1確定行列,axis=0表示行,axis=1表示列
append() 在指定元素的結尾插入內容(插入value,行),ignore_index=True時插入時不需要指定index
insert() 在指定位置插入列
rename() 修改列名或者索引
concat() 合并DataFrame對象
at[] 根據行標簽和列標簽這只單個值
plot() 繪圖
#以下演示均在df上操作 info=[[1,2,3,4,5],[6,7,8,9,10],[11,12,13,14,15]] columns=['a','b','c','d','e'] df=pd.DataFrame(info,columns=columns) print(df) 運行結果: a b c d e 0 1 2 3 4 5 1 6 7 8 9 10 2 11 12 13 14 15
①count()
count(axis=0,numeric_only=False)
axis:0或‘索引‘表示行,1或’列‘表示列
print(df.count(axis=0))
print(df.count(axis=1))
numeric_only:僅包含數字和布爾數據
print(df.count()) 運行結果: a 3 b 3 c 3 d 3 e 3 print(df[‘a’].count()) 運行結果 3
②sum()、mean()
sum(axis=0)
print(df.sum()) 運行結果 a 18 b 21 c 24 d 27 e 30 dtype: int64 print(df.mean()) 運行結果: a 6.0 b 7.0 c 8.0 d 9.0 e 10.0 dtype: float64 print(df.sum(axis=1)) 運行結果 0 15 1 40 2 65 dtype: int64
③max()、min()
max(axis=0),用法同sum
print(df.max()) 運行結果 a 18 b 21 c 24 d 27 e 30 dtype: int64
④describe()
print(df.describe()) 運行結果: a b c d e count 3.0 3.0 3.0 3.0 3.0 該列數據項數量 mean 6.0 7.0 8.0 9.0 10.0 該列平均值 std 5.0 5.0 5.0 5.0 5.0 該列標準差 min 1.0 2.0 3.0 4.0 5.0 該列最小值 25% 3.5 4.5 5.5 6.5 7.5 該列前25%的數據 50% 6.0 7.0 8.0 9.0 10.0 該列前50%的數據 75% 8.5 9.5 10.5 11.5 12.5 該列前75%的數據 max 11.0 12.0 13.0 14.0 15.0 該列前100%的數據
matplotlib
matplotlib.pyplot中常用繪圖函數
函數 說明
figure() 創建一個新的圖表對象,并設置為當前繪圖對象 注:不創建figure對象,直接調用plot等繪圖函數進行繪圖,matplotlib會自動創建一個figure對象
plot() 繪制線形圖
bar() 繪制垂直柱狀圖
barh() 繪制平行柱狀圖
scatter() 繪制散點圖
title() 設置圖表標題
xlim()、ylim() 設置X、Y軸的取值范圍
xlabel()、ylabel() 設置X、Y軸的標簽
legend() 顯示圖例
show() 顯示創建的所有繪圖對象
①figure()
figure(num=None,figsize=fiuguer.figsize)
num:窗口的標識id
figsize:窗口的大小,如figsize=(8,4),即為長8英寸,寬4英寸
②plot()
常用參數
plot([x],y[,color][,label][,linewidth])
x:橫坐標數據
y:縱坐標數據
color:線的顏色
label:線的標題
linewidth:線寬
③bar()
常用參數
參數 接收值 說明 默認值
x array x軸 無
height array 柱形圖的高度,也就是y軸的高度 無
width 數值 柱形圖的寬度 0.8
color string 柱形圖填充的顏色
label string 解釋每個圖像代表的含義 None
x=range(1,5) height=[10,7,5,8] plt.bar(x,height,width=0.6,color='b',label='test') plt.show()
③barh()
水平柱形圖
參數 接收值 說明 默認值
y array y軸 無
width array 水平柱形圖的寬度,即為值 無
height 數值 柱子的寬度 0.8
color string 柱形圖填充的顏色
label string 解釋每個圖像代表的含義 None
y=range(1,5) width=[10,7,5,8] plt.barh(y,width,height=0.6,color='b',label='aaaaaa') plt.show()
④scatter()
參數 接收值 說明
x array x軸
y array y軸
color string 顏色
label string 解釋每個圖像代表的含義
x=range(1,5) y=[10,7,5,8] plt.scatter(x,y,color='b',label='test') plt.show()
⑤title()
title(label),將圖表標題設置為label
plt.title(‘test’)
⑥xlim()、ylim()
xlim(left,right),將x軸的范圍設置為[left,right]
⑥xlabel()、ylabel ()
xlabel(label)、ylabel(label)
設置x軸標簽和y軸標簽
⑦legend()
顯示圖例標簽
plt.legend()
⑧show()

展開更多......

收起↑

資源預覽

<pre id="tfb94"><li id="tfb94"></li></pre>

<bdo id="tfb94"><rt id="tfb94"></rt></bdo>
  • <menu id="tfb94"><dl id="tfb94"></dl></menu><i id="tfb94"><acronym id="tfb94"><sub id="tfb94"></sub></acronym></i>

    1. 主站蜘蛛池模板: 二连浩特市| 台江县| 高淳县| 罗定市| 宁安市| 黑水县| 玛曲县| 海宁市| 大城县| 赤峰市| 达日县| 当阳市| 晋江市| 贞丰县| 兴国县| 八宿县| 静海县| 兴城市| 新昌县| 克山县| 拜泉县| 土默特右旗| 年辖:市辖区| 布拖县| 遵义市| 庄河市| 河北省| 甘肃省| 澄迈县| 桐乡市| 景宁| 阳江市| 靖江市| 府谷县| 卢氏县| 苍溪县| 巴塘县| 米脂县| 旬阳县| 辰溪县| 肇庆市|