pandas的apply函数解析
生活随笔
收集整理的這篇文章主要介紹了
pandas的apply函数解析
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
apply函數(shù)
apply函數(shù)是pandas里面所有函數(shù)中自由度最高的函數(shù)。該函數(shù)如下:
DataFrame.apply(func, axis=0, broadcast=False, raw=False, reduce=None, args=(), **kwds)該函數(shù)最有用的是第一個參數(shù),這個參數(shù)是函數(shù),相當(dāng)于C/C++的函數(shù)指針。
這個函數(shù)需要自己實現(xiàn),函數(shù)的傳入?yún)?shù)根據(jù)axis來定,比如axis = 1,就會把一行數(shù)據(jù)作為Series的數(shù)據(jù)結(jié)構(gòu)傳入給自己實現(xiàn)的函數(shù)中,我們在函數(shù)中實現(xiàn)對Series不同屬性之間的計算,返回一個結(jié)果,則apply函數(shù)會自動遍歷每一行DataFrame的數(shù)據(jù),最后將所有結(jié)果組合成一個Series數(shù)據(jù)結(jié)構(gòu)并返回。
apply常用于數(shù)據(jù)預(yù)處理
這塊的主要工作就是利用pandas里面的函數(shù),去查看一下剛特殊操作后的數(shù)據(jù)。
def data_handle():data = pd.read_csv('C:\\Users\\happy\\Desktop\\old_data.csv')#print(data.describe()) #查看統(tǒng)計信息,發(fā)現(xiàn)最小值有-10000的異常數(shù)據(jù)#print((data.isnull()).sum()) #查看是否存在缺失值#print((data.duplicated()).sum()) #重復(fù)值def change_zero(x):if x == -10000:return 0else :return xdata['values'] = data['values'].apply(lambda x: change_zero(x))#利用均值填充缺失值mean = data['values'].mean()def change_mean(x):if x == 0:return meanelse:return xdata['values'] = data['values'].apply(lambda x: change_mean(x))#保存處理過的數(shù)據(jù)data.to_csv('C:\\Users\\happy\\Desktop\\new_data.csv',index=0)print('new data is existing')總結(jié)
以上是生活随笔為你收集整理的pandas的apply函数解析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: BZOJ.3052.[WC2013]糖果
- 下一篇: Pandas - 查看DataFrame