python數(shù)據(jù)分析系列1.5——map()&apply()&applymap()/sort()&sorted()&argsort()

第二周的作業(yè)是熟悉Python基礎(chǔ),了解pandas數(shù)據(jù)結(jié)構(gòu),這些資料網(wǎng)上很全,所以本文打算總結(jié)一些"長得很像"的函數(shù)洞辣,關(guān)于概率分布將繼續(xù)在下一篇文章描述昙衅。

1.1 map函數(shù)
Python函數(shù)式編程中的map()函數(shù)是將func作用于seq中的每一個元素扬霜,并用一個列表給出返回值,可傳入多個seq。

#map(fun,seq[seq1,seq2])
list_a=list(map( lambda x: x%3, range(6)))
list_b= list(map( lambda x, y: x * y, [1, 2, 3], [4, 5, 6] ))
list_c=list(map( lambda x,y: ( x * y, x + y), [1, 2, 3], [4, 5, 6] ) )#將兩個list轉(zhuǎn)成元組

1.2 reduce函數(shù)
reduce函數(shù)即為化簡著瓶,它是這樣一個過程:每次迭代,將上一次的迭代結(jié)果(第一次時為init的元素啼县,如沒有init則為seq的第一個元素)與下一個元素一同執(zhí)行一個二元的func函數(shù)。

#reduce( func, seq[, init] )
#使用reduce函數(shù)需要引入

from functools import reduce

n = 5
reduce_a=reduce(lambda x, y: x * y, range(1, n + 1))# 120 1*2*3*4*5

m = 2
n = 5
reduce_b= reduce( lambda x, y: x * y, range( 1, n + 1 ), m ) #240 2*1*2*3*4*5

1.3 filter函數(shù)
filter(fun,seq),返回fun為true的那些值

filter_a=list(filter(lambda x:x%2==0,range(10)))#返回偶數(shù)

1.4 apply函數(shù)
apply作用于DataFrame中的每一行/每一列


df1=pd.DataFrame(np.arange(20).reshape(5,4),columns=['A','B','C','D'])
df1.loc['apply_sum']=df1.apply(lambda x:x.sum(),axis=0)#縱向的
df1['total']=df1[['A','C']].apply(lambda x:x.sum(),axis=1)#橫向的

1.5 applymap函數(shù)
applymap 作用于DataFrame每個元素

df2=df1.applymap(lambda x:x+1)#每個元素+1

=================================================================

2.1 sort函數(shù)
sort()是python list內(nèi)置排序的方法季眷,排序完改變原list的值

my_list = [3, 5, 1, 4, 2]
my_list.sort()
my_list #輸出[1, 2, 3, 4, 5]

2.2 sorted函數(shù)
排序不改變原有變量的數(shù)據(jù)結(jié)構(gòu),sorted(iterable[, cmp[, key[, reverse]]])余蟹,sorted()非常靈活,可以按照多種方式排序瘟裸。

#sorted(iterable[, cmp[, key[, reverse]]])
my_list = [3, 5, 1, 4, 2]
print(sorted(my_list),my_list)# 返回[1, 2, 3, 4, 5] 客叉,[3, 5, 1, 4, 2]

#1)可以用自定義的key可以來排序诵竭,用len函數(shù)作為key來排序
c =['CCC', 'bb', 'ffff', 'z']  
sorted(c,key=len)     #返回['z', 'bb', 'CCC', 'ffff']

#2)可以自定義函數(shù),作為排序
def lastchar(s): 
    return s[-1] 
e = ['abc','b','AAz','ef'] 
sorted(e,key = lastchar)      #返回['b', 'abc', 'ef', 'AAz']


#一種寫法
f = [{'name':'abc','age':20},{'name':'def','age':30},{'name':'ghi','age':25}]     #列表中的元素為字典 
def age(s): 
    return s['age'] 
ff = sorted(f,key = age) #自定義函數(shù)按列表f中字典的age從小到大排序 返回[{'age': 20, 'name': 'abc'}, {'age': 25, 'name': 'ghi'}, {'age': 30, 'name': 'def'}] 
#另一種寫法   
f2 = sorted(f,key = lambda x:x['age'])    #lambda函數(shù)可以達(dá)到預(yù)期效果

2.3 argsort函數(shù)
argsort() 是numpy中的函數(shù),按照升序话告,返回索引的值

x = np.array([3, 1, 2])
np.argsort(x) #返回  array([1, 2, 0], dtype=int64)#升序排列 返回索引
np.argsort(-x) #降序 array([0, 2, 1], dtype=int64)

#另一種方式對array實現(xiàn)排序
x[np.argsort(x)] #升序
x[np.argsort(-x)]# 降序

x[::-1] #取從后向前(相反)的元素 個人感覺相當(dāng)于list中的reverse()
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末卵慰,一起剝皮案震驚了整個濱河市沙郭,隨后出現(xiàn)的幾起案子裳朋,更是在濱河造成了極大的恐慌病线,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,000評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件鲤嫡,死亡現(xiàn)場離奇詭異送挑,居然都是意外死亡,警方通過查閱死者的電腦和手機暖眼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評論 3 399
  • 文/潘曉璐 我一進店門惕耕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人诫肠,你說我怎么就攤上這事司澎∑墼担” “怎么了挤安?”我有些...
    開封第一講書人閱讀 168,561評論 0 360
  • 文/不壞的土叔 我叫張陵谚殊,是天一觀的道長蛤铜。 經(jīng)常有香客問我嫩絮,道長,這世上最難降的妖魔是什么昂羡? 我笑而不...
    開封第一講書人閱讀 59,782評論 1 298
  • 正文 為了忘掉前任,我火速辦了婚禮虐先,結(jié)果婚禮上怨愤,老公的妹妹穿的比我還像新娘蛹批。我一直安慰自己撰洗,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 68,798評論 6 397
  • 文/花漫 我一把揭開白布差导。 她就那樣靜靜地躺著,像睡著了一般猪勇。 火紅的嫁衣襯著肌膚如雪设褐。 梳的紋絲不亂的頭發(fā)上泣刹,一...
    開封第一講書人閱讀 52,394評論 1 310
  • 那天助析,我揣著相機與錄音椅您,去河邊找鬼外冀。 笑死,一個胖子當(dāng)著我的面吹牛掀泳,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播员舵,決...
    沈念sama閱讀 40,952評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼脑沿,長吁一口氣:“原來是場噩夢啊……” “哼马僻!你這毒婦竟也來了庄拇?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,852評論 0 276
  • 序言:老撾萬榮一對情侶失蹤丛忆,失蹤者是張志新(化名)和其女友劉穎祠汇,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體熄诡,經(jīng)...
    沈念sama閱讀 46,409評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,483評論 3 341
  • 正文 我和宋清朗相戀三年凰浮,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片袜茧。...
    茶點故事閱讀 40,615評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡菜拓,死狀恐怖笛厦,靈堂內(nèi)的尸體忽然破棺而出纳鼎,到底是詐尸還是另有隱情,我是刑警寧澤裳凸,帶...
    沈念sama閱讀 36,303評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站姨谷,受9級特大地震影響逗宁,放射性物質(zhì)發(fā)生泄漏梦湘。R本人自食惡果不足惜瞎颗,卻給世界環(huán)境...
    茶點故事閱讀 41,979評論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望捌议。 院中可真熱鬧哼拔,春花似錦、人聲如沸禁灼。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,470評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽弄捕。三九已至,卻和暖如春导帝,著一層夾襖步出監(jiān)牢的瞬間守谓,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,571評論 1 272
  • 我被黑心中介騙來泰國打工您单, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留斋荞,地道東北人。 一個月前我還...
    沈念sama閱讀 49,041評論 3 377
  • 正文 我出身青樓虐秦,卻偏偏與公主長得像平酿,于是被迫代替她去往敵國和親凤优。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,630評論 2 359

推薦閱讀更多精彩內(nèi)容