㈠ 用python 計算 10+20+30……+100.分別用while for實現,求高手指教
deffor_n():
y=0
forxinrange(10,101,10):
y+=x
print(y)
defwhile_n():
y=0
x=10
whilex<101:
y+=x
x+=10
print(y)
if__name__=='__main__':
for_n()
while_n()
㈡ python turtle庫畫天安門
將#替換為空格,代碼如下:
from turtle import *
speed('fastest')
def rectangle(h, v, c):#畫長方形
####pendown()
####pensize(1)
####fillcolor(c)
####begin_fill()
####for counter in range(1, 3):
########forward(h)
########right(90)
########forward(v)
########right(90)
####end_fill()
####penup()
def gate(x, y, r, c):#畫大門和小門
####fillcolor(c)
####begin_fill()
####penup()
####goto(x, y)
####pendown()
####setheading(0)
####right(90)
####forward(r*2)
####left(90)
####forward(r*2)
####left(90)
####forward(r*2)
####setheading(90)
####circle(r, 180)
####end_fill()
####setheading(0)
def trapezium(x, y, c):#畫地下的大梯形
####fillcolor(c)
####begin_fill()
####penup()
####goto(x, y)#goto(-200, 0)
####pendown()
####forward(400)
####right(60)
####forward(150)
####right(120)
####forward(550)
####right(120)
####forward(150)
####right(60)
####end_fill()
def roof1(x, y, c):#畫第1個屋檐
####fillcolor(c)
####begin_fill()
####penup()
####goto(x, y)
####pendown()
####left(60)
####forward(30)
####right(60)
####forward(225)
####right(60)
####forward(30)
####left(60)
####forward(-20)
####end_fill()
def roof2(x, y, c):#畫第2個屋檐
####fillcolor(c)
####begin_fill()
####penup()
####goto(x, y)
####setheading(0)
####pendown()
####left(60)
####goto(-75, 155)
####right(60)
####goto(75, 155)
####right(60)
####goto(125, 95)
####right(120)
####goto(x ,y)
####penup()
####end_fill()
pencolor('black')
trapezium(-200, 0, 'red')
penup()
goto(-105, 95)
rectangle(210, 20, 'red')
goto(-115, 50)
rectangle(230, 50, 'red')
roof1(-125, 50, 'orange')
roof2(-125, 95, 'orange')
gate(-90, 25, 10, 'brown')
gate(-65, 25, 10, 'brown')
gate(-40, 25, 10, 'brown')####
penup()
forward(40)
gate(20, 25, 10, 'brown')
gate(45, 25, 10, 'brown')
gate(70, 25, 10, 'brown')####
gate(-160, -100, 15, 'brown')
gate(-95, -100, 15, 'brown')
gate(-30, -70, 30, 'brown')####
gate(60, -100, 15, 'brown')
gate(125, -100, 15, 'brown')
done()
㈢ python檢測一列有多少
導讀:今天首席CTO筆記來給各位分享關於python檢測一列有多少的相關內容,如果能碰巧解決你現在面臨的問題,別忘了關注本站,現在開始吧!
Python怎麼檢驗數據分布1.每個維度都畫出來,看直方圖,肉眼判別。python中可以用matplotlib畫圖。
2.連續的分布:KolmogorovSmirnov(k-s)test或者Cramér–vonMises(CvM)test
3.離散的分布:Chi-Squaretest
4.正態性可以用Lilliforstest
5.通常而言,你會發現這些數據不是從常見分布來的;什麼分布並不重要,常見分布只是簡化計算用的。
2,3和4的python實現詳見scipy.stats或者statsmodels.stats這兩個庫的文檔
像Excel一樣使用Python(一)
在進行數據處理時,如果數據簡單,數量不多,excel是大家的首選。但是當數據眾多,類型復雜,需要靈活地顯示切片、進行索引、以及排序時,python會更加方便。藉助python中的numpy和pandas庫,它能快速完成各種任務,包括數據的創建、檢查、清洗、預處理、提取、篩選、匯總、統計等。接下來幾篇文章,將以excel為參照,介紹python中數據的處理。
提到pandas,那就不得不提兩類重要的數據結構,Series和DataFrame,這兩類數據結構都是建立在numpy的數組array基礎上。與array相比,Series是一個一維的數據集,但是每個數據元素都帶有一個索引,有點類似於字典。而DataFrame在數組的基礎上,增加了行索引和列索引,類似於Series的字典,或者說是一個列表集。
所以在數據處理前,要安裝好numpy,pandas。接下來就看看如何完成一套完整的數據操作。
創建數據表的方法分兩種,分別是從外部導入數據,以及直接寫入數據。
在python中,也可外部導入xlsx格式文件,使用read_excel()函數:
importpandasaspd
frompandasimportDataFrame,Series
data=DataFrame(pd.read_excel('c:/python27/test.xlsx'))
printdata
輸出:
GeneSizeFunction
0arx1411NaN
1arx2550monooxygenase
2arx3405aminotransferase
……
即:調用pandas中read_excel屬性,來讀取文件test.xlsx,並轉換成DataFrame格式,賦給變數data。在每一行後,自動分了一個索引值。除了excel,還支持以下格式文件的導入和寫入:
Python寫入的方法有很多,但還是不如excel方便。常用的例如使用相等長度的字典或numpy數組來創建:
data1=DataFrame(
{'Gene':['arx1','arx2','arx3'],
'Size':[411,550,405],
'Func':[np.NaN,'monooxygenase','aminotransferase']})
printdata1
輸出
FuncGeneSize
0NaNarx1411
1monooxygarx2550
2aminoarx3405
分配一個行索引後,自動排序並輸出。
在python中,可以使用info()函數查看整個數據的詳細信息。
printdata.info()
輸出
RangeIndex:7entries,0to6
Datacolumns(total3columns):
Gene7non-nullobject
Size7non-nullint64
Function5non-nullobject
dtypes:int64(1),object(2)
memoryusage:240.0+bytes
None
此外,還可以通過shape,column,index,values,dtypes等函數來查看數據維度、行列組成、所有的值、數據類型:
printdata1.shape
printdata1.index
printdata1.columns
printdata1.dtypes
輸出
(3,3)
RangeIndex(start=0,stop=3,step=1)
Index([u'Func',u'Gene',u'Size'],dtype='object')
Funcobject
Geneobject
Sizeint64
dtype:object
在excel中可以按「F5」,在「定位條件」中選擇「空值」,選中後,輸入替換信息,再按「Ctrl+Enter」即可完成替換。
在python中,使用函數isnull和notnull來檢測數據丟失,包含空值返回True,不包含則返回False。
pd.isnull(data1)
pd.notnull(data1)
也可以使用函數的實例方法,以及加入參數,對某一列進行檢查:
printdata1['Func'].isnull()
輸出
FuncGeneSize
0TrueFalseFalse
1FalseFalseFalse
2FalseFalseFalse
再使用fillna對空值進行填充:
data.fillna(value=0)
#用0來填充空值
data['Size'].fillna(data1['Size'].mean())
#用data1中Size列的平均值來填充空值
data['Func']=data['Func'].map(str.strip)
#清理Func列中存在的空格
Excel中可以按「Ctrl+F」,可調出替換對話框,替換相應數據。
Python中,使用replace函數替換:
data['Func'].replace('monooxygenase','oxidase')
將Func列中的'monooxygenase'替換成'oxidase'。
Excel中,通過「數據-篩選-高級」可以選擇性地看某一列的唯一值。
Python中,使用unique函數查看:
printdata['Func'].unique()
輸出
[nanu'monooxygenase'u'aminotransferase'u'methyltransferase']
Excel中,通過UPPER、LOWER、PROPER等函數來變成大寫、小寫、首字母大寫。
Python中也有同名函數:
data1['Gene'].str.lower()
Excel中可以通過「數據-刪除重復項」來去除重復值。
Python中,可以通過drop_plicates函數刪除重復值:
printdata['Func'].drop_plicates()
輸出
0NaN
1monooxygenase
2aminotransferase
3methyltransferase
Name:Func,dtype:object
還可以設置「keep=』last』」參數,後出現的被保留,先出現的被刪除:
printdata['Func'].drop_plicates(keep='last')
輸出
2aminotransferase
3methyltransferase
6monooxygenase
8NaN
Name:Func,dtype:object
內容參考:
PythonForDataAnalysis
藍鯨網站分析博客,作者藍鯨(王彥平)
python數據統計分析1.常用函數庫
?scipy包中的stats模塊和statsmodels包是python常用的數據分析工具,scipy.stats以前有一個models子模塊,後來被移除了。這個模塊被重寫並成為了現在獨立的statsmodels包。
?scipy的stats包含一些比較基本的工具,比如:t檢驗,正態性檢驗,卡方檢驗之類,statsmodels提供了更為系統的統計模型,包括線性模型,時序分析,還包含數據集,做圖工具等等。
2.小樣本數據的正態性檢驗
(1)用途
?夏皮羅維爾克檢驗法(Shapiro-Wilk)用於檢驗參數提供的一組小樣本數據線是否符合正態分布,統計量越大則表示數據越符合正態分布,但是在非正態分布的小樣本數據中也經常會出現較大的W值。需要查表來估計其概率。由於原假設是其符合正態分布,所以當P值小於指定顯著水平時表示其不符合正態分布。
?正態性檢驗是數據分析的第一步,數據是否符合正態性決定了後續使用不同的分析和預測方法,當數據不符合正態性分布時,我們可以通過不同的轉換方法把非正太態數據轉換成正態分布後再使用相應的統計方法進行下一步操作。
(2)示例
(3)結果分析
?返回結果p-value=0.029035290703177452,比指定的顯著水平(一般為5%)小,則拒絕假設:x不服從正態分布。
3.檢驗樣本是否服務某一分布
(1)用途
?科爾莫戈羅夫檢驗(Kolmogorov-Smirnovtest),檢驗樣本數據是否服從某一分布,僅適用於連續分布的檢驗。下例中用它檢驗正態分布。
(2)示例
(3)結果分析
?生成300個服從N(0,1)標准正態分布的隨機數,在使用k-s檢驗該數據是否服從正態分布,提出假設:x從正態分布。最終返回的結果,p-value=0.9260909172362317,比指定的顯著水平(一般為5%)大,則我們不能拒絕假設:x服從正態分布。這並不是說x服從正態分布一定是正確的,而是說沒有充分的證據證明x不服從正態分布。因此我們的假設被接受,認為x服從正態分布。如果p-value小於我們指定的顯著性水平,則我們可以肯定地拒絕提出的假設,認為x肯定不服從正態分布,這個拒絕是絕對正確的。
4.方差齊性檢驗
(1)用途
?方差反映了一組數據與其平均值的偏離程度,方差齊性檢驗用以檢驗兩組或多組數據與其平均值偏離程度是否存在差異,也是很多檢驗和演算法的先決條件。
(2)示例
(3)結果分析
?返回結果p-value=0.19337536323599344,比指定的顯著水平(假設為5%)大,認為兩組數據具有方差齊性。
5.圖形描述相關性
(1)用途
?最常用的兩變數相關性分析,是用作圖描述相關性,圖的橫軸是一個變數,縱軸是另一變數,畫散點圖,從圖中可以直觀地看到相關性的方向和強弱,線性正相關一般形成由左下到右上的圖形;負面相關則是從左上到右下的圖形,還有一些非線性相關也能從圖中觀察到。
(2)示例
(3)結果分析
?從圖中可以看到明顯的正相關趨勢。
6.正態資料的相關分析
(1)用途
?皮爾森相關系數(Pearsoncorrelationcoefficient)是反應兩變數之間線性相關程度的統計量,用它來分析正態分布的兩個連續型變數之間的相關性。常用於分析自變數之間,以及自變數和因變數之間的相關性。
(2)示例
(3)結果分析
?返回結果的第一個值為相關系數表示線性相關程度,其取值范圍在[-1,1],絕對值越接近1,說明兩個變數的相關性越強,絕對值越接近0說明兩個變數的相關性越差。當兩個變數完全不相關時相關系數為0。第二個值為p-value,統計學上,一般當p-value0.05時,可以認為兩變數存在相關性。
7.非正態資料的相關分析
(1)用途
?斯皮爾曼等級相關系數(Spearman』),它主要用於評價順序變數間的線性相關關系,在計算過程中,只考慮變數值的順序(rank,值或稱等級),而不考慮變數值的大小。常用於計算類型變數的相關性。
(2)示例
(3)結果分析
?返回結果的第一個值為相關系數表示線性相關程度,本例中correlation趨近於1表示正相關。第二個值為p-value,p-value越小,表示相關程度越顯著。
8.單樣本T檢驗
(1)用途
?單樣本T檢驗,用於檢驗數據是否來自一致均值的總體,T檢驗主要是以均值為核心的檢驗。注意以下幾種T檢驗都是雙側T檢驗。
(2)示例
(3)結果分析
?本例中生成了2列100行的數組,ttest_1samp的第二個參數是分別對兩列估計的均值,p-value返回結果,第一列1.47820719e-06比指定的顯著水平(一般為5%)小,認為差異顯著,拒絕假設;第二列2.83088106e-01大於指定顯著水平,不能拒絕假設:服從正態分布。
9.兩獨立樣本T檢驗
(1)用途
?由於比較兩組數據是否來自於同一正態分布的總體。注意:如果要比較的兩組數據不滿足方差齊性,需要在ttest_ind()函數中添加參數equal_var=False。
(2)示例
(3)結果分析
?返回結果的第一個值為統計量,第二個值為p-value,pvalue=0.19313343989106416,比指定的顯著水平(一般為5%)大,不能拒絕假設,兩組數據來自於同一總結,兩組數據之間無差異。
10.配對樣本T檢驗
(1)用途
?配對樣本T檢驗可視為單樣本T檢驗的擴展,檢驗的對象由一群來自正態分布獨立樣本更改為二群配對樣本觀測值之差。它常用於比較同一受試對象處理的前後差異,或者按照某一條件進行兩兩配對分別給與不同處理的受試對象之間是否存在差異。
(2)示例
(3)結果分析
?返回結果的第一個值為統計量,第二個值為p-value,pvalue=0.80964043445811551,比指定的顯著水平(一般為5%)大,不能拒絕假設。
11.單因素方差分析
(1)用途
?方差分析(AnalysisofVariance,簡稱ANOVA),又稱F檢驗,用於兩個及兩個以上樣本均數差別的顯著性檢驗。方差分析主要是考慮各組之間的平均數差別。
?單因素方差分析(One-wayAnova),是檢驗由單一因素影響的多組樣本某因變數的均值是否有顯著差異。
?當因變數Y是數值型,自變數X是分類值,通常的做法是按X的類別把實例成分幾組,分析Y值在X的不同分組中是否存在差異。
(2)示例
(3)結果分析
?返回結果的第一個值為統計量,它由組間差異除以組間差異得到,上例中組間差異很大,第二個返回值p-value=6.2231520821576832e-19小於邊界值(一般為0.05),拒絕原假設,即認為以上三組數據存在統計學差異,並不能判斷是哪兩組之間存在差異。只有兩組數據時,效果同stats.levene一樣。
12.多因素方差分析
(1)用途
?當有兩個或者兩個以上自變數對因變數產生影響時,可以用多因素方差分析的方法來進行分析。它不僅要考慮每個因素的主效應,還要考慮因素之間的交互效應。
(2)示例
(3)結果分析
?上述程序定義了公式,公式中,"~"用於隔離因變數和自變數,」+「用於分隔各個自變數,":"表示兩個自變數交互影響。從返回結果的P值可以看出,X1和X2的值組間差異不大,而組合後的T:G的組間有明顯差異。
13.卡方檢驗
(1)用途
?上面介紹的T檢驗是參數檢驗,卡方檢驗是一種非參數檢驗方法。相對來說,非參數檢驗對數據分布的要求比較寬松,並且也不要求太大數據量。卡方檢驗是一種對計數資料的假設檢驗方法,主要是比較理論頻數和實際頻數的吻合程度。常用於特徵選擇,比如,檢驗男人和女人在是否患有高血壓上有無區別,如果有區別,則說明性別與是否患有高血壓有關,在後續分析時就需要把性別這個分類變數放入模型訓練。
?基本數據有R行C列,故通稱RC列聯表(contingencytable),簡稱RC表,它是觀測數據按兩個或更多屬性(定性變數)分類時所列出的頻數表。
(2)示例
(3)結果分析
?卡方檢驗函數的參數是列聯表中的頻數,返回結果第一個值為統計量值,第二個結果為p-value值,p-value=0.54543425102570975,比指定的顯著水平(一般5%)大,不能拒絕原假設,即相關性不顯著。第三個結果是自由度,第四個結果的數組是列聯表的期望值分布。
14.單變數統計分析
(1)用途
?單變數統計描述是數據分析中最簡單的形式,其中被分析的數據只包含一個變數,不處理原因或關系。單變數分析的主要目的是通過對數據的統計描述了解當前數據的基本情況,並找出數據的分布模型。
?單變數數據統計描述從集中趨勢上看,指標有:均值,中位數,分位數,眾數;從離散程度上看,指標有:極差、四分位數、方差、標准差、協方差、變異系數,從分布上看,有偏度,峰度等。需要考慮的還有極大值,極小值(數值型變數)和頻數,構成比(分類或等級變數)。
?此外,還可以用統計圖直觀展示數據分布特徵,如:柱狀圖、正方圖、箱式圖、頻率多邊形和餅狀圖。
15.多元線性回歸
(1)用途
?多元線性回歸模型(),因變數Y(計量資料)往往受到多個變數X的影響,多元線性回歸模型用於計算各個自變數對因變數的影響程度,可以認為是對多維空間中的點做線性擬合。
(2)示例
(3)結果分析
?直接通過返回結果中各變數的P值與0.05比較,來判定對應的解釋變數的顯著性,P0.05則認為自變數具有統計學意義,從上例中可以看到收入INCOME最有顯著性。
16.邏輯回歸
(1)用途
?當因變數Y為2分類變數(或多分類變數時)可以用相應的logistic回歸分析各個自變數對因變數的影響程度。
(2)示例
(3)結果分析
?直接通過返回結果中各變數的P值與0.05比較,來判定對應的解釋變數的顯著性,P0.05則認為自變數具有統計學意義。
急急急!python根據原excel數據新加一列數字從1-75,如何實現?網路會吞縮進,我發其他網站了。paste.ubuntu
#安裝
whileTrue:
try:
importopenpyxl
break
except:
print('未安裝openpyxl庫,正在安裝')
fromosimportsystem
system('pipinstall-iopenpyxl')
#保存xlsx
defsave_xlsx(list1,path):
#創建一個excel工作簿
wb=openpyxl.Workbook()
#創建之後可以通過active獲取默認的第一個
ws1=wb.active
#通過append來添加一行數據
forconteninlist1:
ws1.append(conten)
#保存
wb.save(path)
#讀取xlsx
defread_xlsx(path):
#打開文件:
excel=openpyxl.load_workbook(path)
#獲取sheet,索引獲取
table=excel.get_sheet_by_name(excel.get_sheet_names()[0])
#返回數據
returnlist(map(list,table.values))
#1-75循環生成器
defloop(s,e):
i=s
whileTrue:
ifi==e:
i=s
yieldi
i+=1
if__name__=='__main__':
path='D://book.xlsx'?#文件路徑
l=loop(1,75)?#左閉右開,不包括75
datas=read_xlsx(path)?#讀取文件
#處理數據,不確定是不是有多個數字的情況,這里按多個數字寫的
lins=None
forrowindatas[1:]:
iflins!=row[0]:?#判斷的數字在哪一列?索引值
lins=row[0]
l=loop(1,75)
row.append(l.__next__())
save_xlsx(datas,path)?#覆蓋保存新文件
print('完成')
python如何讀取excel指定單元格內容1、首先打開電腦上編寫python的軟體。
2、然後新建一個py文件,如下圖所示。
3、接著就是導入xlrd包,讀取表格的函數就在這裡面,如下圖所示。
4、然後就是打開想要讀取的表格,如下圖所示。
5、接著就是指定要讀取一個excel表中的那個表格。
6、然後就是根據sheet索引獲取sheet內容。
7、最後就是讀取一個表格中的行或列的值,就完成了。
python檢測人數代碼?您好!下面是一