方法用錯了, 首先不能是DataFrame的applymap方法 這個方法是對每一個元素進(jìn)行處理的
成都創(chuàng)新互聯(lián)致力于網(wǎng)站建設(shè)、成都網(wǎng)站制作,成都網(wǎng)站設(shè)計,集團(tuán)網(wǎng)站建設(shè)等服務(wù)標(biāo)準(zhǔn)化,推過標(biāo)準(zhǔn)化降低中小企業(yè)的建站的成本,并持續(xù)提升建站的定制化服務(wù)水平進(jìn)行質(zhì)量交付,讓企業(yè)網(wǎng)站從市場競爭中脫穎而出。 選擇成都創(chuàng)新互聯(lián),就選擇了安全、穩(wěn)定、美觀的網(wǎng)站建設(shè)服務(wù)!
其次, 處理函數(shù)(你的func_wd)是接受一個值, 返回一個值, 不是接受一堆值然后循環(huán)
def func_wd(x) 這個x就是wd那一列中的某一個值, 里面直接分支返回就行了:
在map這個方法的時候, 用Series的apply:
data['wd'] = data['wd'].apply(fuc_wd)
這樣就行了
哈嘍,小朋友們,今天酷酷老師帶大家用C語言、Python、Scratch語言這三種不同的編程語言來比較三個數(shù)的大小。你們準(zhǔn)備好小本本,和老師一起學(xué)習(xí)了嗎?
首先我們先來看一下C語言中如何比較三個數(shù)的大?。?/p>
這是最容易理解的方法在之前判斷兩個數(shù)大小的基礎(chǔ)上,在if語句中嵌套一個if語句,經(jīng)過多次判斷得出最大數(shù)。這樣可以再引用函數(shù)中將引用的函數(shù)變?yōu)閙ax(a,b,c)或者在比較兩個數(shù)的函數(shù)在主程序里變?yōu)閙ax=max(max(a,b),c)下面介紹一個三元運(yùn)算符,這個運(yùn)算符會使程序進(jìn)一步簡化,而且看起來更加的直觀。
它的一般形式如下:
表達(dá)式1? 表達(dá)式2:表達(dá)式3;
? 表達(dá)式的值是由 表達(dá)式1 決定的。如果 表達(dá)式1 為真,則計算表達(dá)式2 的值,結(jié)果即為整個 ? 表達(dá)式的值。如果表達(dá)式1 為假,則計算表達(dá)式3 的值,結(jié)果即為整個 ? 表達(dá)式的值。
程序如下:
接下來我們再來看看python語言解決三個數(shù)比較大小的問題:
我們可以看到,利用python的代碼解決比較大小的思路上與C語言解決起來是一樣的,但是python語言更加的簡潔,也不像C語言那么重視格式,所以對于少兒來說,python語言更加容易學(xué)習(xí)。
那么接下來我們看看最適合少兒學(xué)習(xí)的Scratch是如何解決三個數(shù)比較大小的問題的呢?
程序如下:
我們可以從圖中的積木塊看出來,在進(jìn)行Scratch代碼編寫的時候,其實(shí)思路就是一種編程的思路,所以對于想要學(xué)習(xí)少兒編程的年齡小一點(diǎn)的同學(xué)來說,學(xué)習(xí)Scratch可以當(dāng)作開始學(xué)習(xí)編程的基礎(chǔ)。
小朋友們,請自己嘗試一下吧,看看設(shè)計的過程中會遇到哪些問題呢?歡迎隨時和酷酷老師分享哦~
students = [('john', 'A', 15), ('jane', 'B', 12), ('dave','B', 10)]
print(sorted(students,key=lambda s: s[0]))
key指定一個接收一個參數(shù)的函數(shù),這個函數(shù)用于從每個元素中提取一個用于比較的關(guān)鍵字。默認(rèn)值為None
例子
為啥會這樣呢?默認(rèn)不是應(yīng)該按升序排列。
仔細(xì)看 我們lambda返回的是一個元祖,(布爾,布爾,絕對值)
由于key函數(shù)主要作用是根據(jù)我們自己的要求,取出指定的元素來進(jìn)行排序,不過我們現(xiàn)在返回的是一個元祖,所以我們首先按布爾進(jìn)行排序,當(dāng)有相同的我們在往后面一個元素找,然后進(jìn)行排序,所以就變成這樣了。
本題要求將輸入的任意3個整數(shù)從小到大輸出。
輸入格式:
輸入在一行中給出3個整數(shù),其間以空格分隔。
輸出格式:
在一行中將3個整數(shù)從小到大輸出,其間以“-”相連。
輸入樣例:
4 2 8
輸出樣例:
2-4-8
代碼如下:
a = list(map(int,input().split()))#map(函數(shù),序列,...)a.sort()#對列表進(jìn)行升序排序for i in range(len(a)-1):#遍歷并排序后的列表
print(f'{a[i]}-',end='')#輸出列表的前n-1項,并輸出-print(f'{a[len(a)-1]}')#輸出第n項
劃重點(diǎn)( ̄︶ ̄)↗ :
map()函數(shù)提供的函數(shù)對指定序列做映射。
map() 函數(shù)語法:
map(function, iterable, …)
function 以參數(shù)序列中的每一個元素調(diào)用 function 函數(shù),返回包含每次 function 函數(shù)返回值的新列表,iterable 表示 一個或多個序列
end=’’()函數(shù)會關(guān)閉“在輸出中自動包含換行”的默認(rèn)行為,只有Python3有用,Python2不支持。print默認(rèn)是打印一行,結(jié)尾加換行。
end=’ '意思是末尾不換行。
len()訪問列表長度(數(shù)據(jù)個數(shù))
list()函數(shù)創(chuàng)建列表
sort()函數(shù)
列表序列.sort(key=None, reverse= False)
reverse表示排序規(guī)則,reverse=True降序,reverse= False升序(默認(rèn))
列表序列.sort()此處默認(rèn)為升序排列