Hello大家好,歡迎來到【統計GO】,本公眾號內容主要針對數據分析的愛好者,不定期分享一些好用的數據分析工具和機器學習資料,以及一些求職必備技能,幫助大家花更少的時間學更多的知識。
今天為大家推薦的是“詳解pandas中的Map、Apply、Groupby函數”。如果本期內容對您有所幫助,記得及時關注。
python round,1.Map
(1)數據集
(2)假設您想要添加一列,指出每種食物來自哪種動物。讓我們寫下每一種不同的肉類類型到動物的映射:
meat_to_animal = {'bacon': 'pig',
format python,'pulled pork': 'pig','pastrami':'cow',
'corned beef': 'cow','honey ham': 'pig', 'nova lox': 'salmon'}
(3)處理完之后的數據
data['animal'] = lowercased.map(meat_to_animal)
python eval、2.Groupby
(1)簡單組聚合的模型示意圖
(2)數據集
(3)Groupby
grouped = df['data1'].groupby(df['key1']).mean()
python tuple。Out: key1
a 0.746672
b -0.53758
python django、3.Apply
(1)數據集
(2)lambda函數
f = lambda x: x.max() - x.min()
python map?frame.apply(f)
Out:
b 1.802165
d 1.684034
e 2.689627
frame.apply(f, axis='columns')
Out:
Utah 0.998382
Ohio 2.521511
Texas 0.676115
Oregon 2.542656
(3)def f(x),計算每一列最小值和最大值
def f(x):
return pd.Series([x.min(), x.max()],
index=['min', 'max'])
frame.apply(f)
Out:
(4)每一列保留兩位小數
format = lambda x: '%.2f' % x
frame.applymap(format)
Out:
4.總結
1. lambda與def的區別:
1)def創建的方法是有名稱的,而lambda沒有。
2)lambda會返回一個函數對象,但這個對象不會賦給一個標識符,而def則會把函數對象賦值給一個變量(函數名)。
3)lambda只是一個表達式,而def則是一個語句。
4)lambda表達式”:“后面,只能有一個表達式,def則可以有多個。
5)像if或for或print等語句不能用于lambda中,def可以。
6)lambda一般用來定義簡單的函數,而def可以定義復雜的函數。
2. Map函數主要用于自定義分類規則.
Groupby函數主要用于計算組內統計量,特別是在缺失值填充中避免了用總體均值填充的弊端.
Apply函數主要用于將自定義之后的函數,應用到每一列或者特定的某一列中.
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态