中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
使用pandas做數(shù)據(jù)分析,掌握這些函數(shù)就夠了

pandas是數(shù)據(jù)分析師最常用的工具之一,掌握以下函數(shù)足以應(yīng)對工作中的各種需求,

  • P4 數(shù)據(jù)集描述

  • P5 重命名列名稱

  • P6 刪除列

  • P7 整體排序

  • P8 通過列條件篩選數(shù)據(jù)

  • P9 多條件篩選

  • P11 怎樣使用axis參數(shù)

  • P12 字符串方法

  • P13 改變數(shù)據(jù)類型

  • P14 什么時候使用groupby

  • P15 探索series

  • P16 處理缺失值

  • P17 關(guān)于index

  • P18 選擇多行或多列

  • P21 減少dataframe占用內(nèi)存

  • P24 創(chuàng)建虛擬變量(one-hot編碼)

  • P25 時間字段處理

  • P26 去除重復(fù)項

  • P27 怎樣避免SettingWithCopyWarming

  • P28 改變顯示選項

  • P29 創(chuàng)建Dateframe的方式

  • P30 對DataFrame或Series使用函數(shù)

P4 數(shù)據(jù)集描述

df.describe() df.describe(include=['object'])df.shapedf.dtypes

P5 重命名列名稱

df.columnsdf.rename(columns={'name1':'rename1', 'name2':'rename2'}, inplace=True)df_newcolumns = ['rename1', 'rename2']df.columns = df_newcolumns# 替換列名中的字符df.columns = df.columns.str.replace(' ', '_')

P6 刪除列

df.drop('name1', axis=1, inplace=True) # axis=1 列df.drop(['name1','name2'], axis=1, inplace=True)

P7 整體排序

df['name1'].sort_values(ascending=False) # ascending=False 倒序df.sort_values('name', ascending=False)df.sort_values(['name1','name2'], ascending=False)

P8 通過列條件篩選數(shù)據(jù)

df[df.age>20]df.loc[df.age>20, 'name1']

P9 多條件篩選

df[(df.name1>10) & (df.name2<0)]df[(df.name1>10) | (df.name2<0)]df[df.name1.isin(['key1', 'key2', 'key3'])]

P11 怎樣使用axis參數(shù)

df.drop('name',axis=1)df.mean(axis=0) # 每列的均值df.mean(axis=1) # 每行的均值

P12 字符串方法

# name1列轉(zhuǎn)大寫df.name1.str.upper()df.name1.str.contain('hah') # 返回True/Falsedf[df.name1.str.contain('hah')] # 用于篩選

P13 改變數(shù)據(jù)類型

df.name = df.name.astype(float)df = pd.read_csv(dtype={'name1':float})# 布爾型裝換位0、1df.name1.astype(int)

P14 什么時候使用groupby

df.groupby('name1').name2.mean()df.groupby('name1').name2.agg(['count','mean', 'max', 'min'])df.groupby('name1').mean() # 得到所有列的均值對每列使用不同的聚合函數(shù)怎么做

P15 探索series

# 一列中每個元素的數(shù)量df.name.value_counts() # 默認(rèn)不計算缺失值,如果要計算需要(dropna=False)# 一列中每個元素的占比df.name.value_counts(normalize=True)# 一列中每個元素df.name.unique()# 一列中元素數(shù)量df.name.nunique()pd.crosstab(df.name1, df.name2) # 價差表

P16 處理缺失值

# 查看是否是缺失值df.isnull()/df.notnull()# 查看每個特征缺失值數(shù)量df.isnull().sum()df.dropna(how='any') # 刪除所有包含缺失值的行df.dropna(how='all') # 刪除所有值都是缺失值的行df.dropna(subset=['name1', 'name2'], how='any') # 刪除這兩列中包含缺失值的行# 填充缺失值df['name'] = df['name'].fillna(value='hah', inplace=True)

P17 關(guān)于index

# 重置indexdf.set_index('name1', inplace=True)df.reset_index(inplace=True)# 改變index的namedf.index.name = Nonedf.index.name = 'hdah'pd.concat([df1, series1], axis=1) # 可以合并dataframe和series

P18 選擇多行或多列

df.loc # 使用標(biāo)簽名稱df.loc[1:3,:] # 包含1和3df.iloc # 使用位置df.iloc[1:3,:] # 包含1不包含3

P21 減少dataframe占用內(nèi)存

# 查看個字段占用內(nèi)存df.memory_usage(deep=True)# 為object加上自定義大小順序df['name'] = df['name'].astype('category', categories=['good', 'good1', 'good2'], ordered=True)

P24 創(chuàng)建虛擬變量(one-hot編碼)

df['new_name'] = df.name.map({'x':1, 'y':2}) # 把name列中的x改為1,y改為2pandas.get_dummies(df.sex, prefix='sex') # 離散特征重新編碼,以x開頭pandas.get_dummies(df, columns=['name1', 'name2'], drop_first=True) # drop_first參數(shù)默認(rèn)為False,刪除結(jié)果中的第一列。

P25 時間字段處理

# 字符串切片df.name1.str.slice(-5,-3)# 日期處理函數(shù)df['time'] = pd.to_datetime(df.time)# 其他方法(.dt.)df.time.dt.weekday or weekday_name 返回周幾df.time.dt.dayofyear 返回一年中的第幾天# 作為篩選條件ts = pd.to_datetime('1/1/2019')df.loc[df.times>ts, :]# 日期之間的數(shù)學(xué)計算(df.times.max() - df.times.min()).days

P26 去除重復(fù)項

# 重復(fù)個數(shù)df.name.dumplicated().sum()df.dumplicated().sum()# 重復(fù)項明細(xì)df.loc[df.dumplicated(keep=False), :] keep參數(shù),F(xiàn)alse全部顯示,first顯示做后一個,last顯示第一個;# 刪除重復(fù)想df.drop_dumplicates(keep=last)df.drop_dumplicates(subset=['name1', 'name2'])

P27 怎樣避免SettingWithCopyWarming

盡量使用loc,避免直接copy經(jīng)過多級篩選之后,pandas不確定當(dāng)前Dateframe是否是copy過來的,所以,對當(dāng)前dateframe操作時,不確定是否為影響最初的數(shù)據(jù)集,而爆出SettingWithCopyWarming,可以在最初拷貝數(shù)據(jù)集的時候使用copy方法;

P28 改變顯示選項

主要方法 pandas.get_option()顯示所有行pd.set_option('display.max_rows', None)默認(rèn)顯示60行pd.set_option('display.max_rows', None)其他選項最大列數(shù):display.max_columns最大單元格寬度:display.max_colwidth小數(shù)點位數(shù):display.precision查看目前選項:pd.describe_option()pd.describe_option('rows')重置所有默認(rèn)選項pd.reset_option('all')

P29 創(chuàng)建Dateframe的方式

1 字典pd.DataFrame({'id':[1,2,3], 'name':['hah','jjj','kk']}, columns=['id2', 'name2'], index=['x','y','z'])2 列表pd.DataFrame([[1,2,3], ['x','v','b'], [1,'5','x']]) 一個子列表為一行3 使用numpyarr = np.random.rand(4,2) 4行2列pd.DataFrame(arr)4 字典結(jié)合numpypd.DataFrame({'id':np.arrange(100,110,1), 'name':np.random.randint(60, 101,10)})5 連接DataFrame和Series'pd.concat([df,s], axis=1)

P30 對DataFrame或Series使用函數(shù)

mapdf['name1'] = df.name.map({'x':1, 'y':2}) applydf[name1] = df.name,apply(len)df[name1] = df.name,apply(np.ciel)def fun(x,y): return x[y] df.name.apply(fun, y=2df.apply(max, axis=0) 每一列的最大值df.apply(max, axis=1) 每一行的最大值df.apply(np.argmax, axis=1) 每一行的最大值對應(yīng)的列名applymap 針對全局每一個單元格做操作df.applymap(float)
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
《利用python進(jìn)行數(shù)據(jù)分析》讀書筆記
Python數(shù)據(jù)分析常用函數(shù)及參數(shù)詳解,可以留著以備不時之需
利用Python進(jìn)行數(shù)據(jù)分析:【Pandas】(Series+DataFrame)
Python數(shù)據(jù)分析-Pandas
一起學(xué)習(xí)Python常用模塊——pandas
用過都說好!12個Pandas和NumPy函數(shù),讓你處理數(shù)據(jù)更輕松
更多類似文章 >>
生活服務(wù)
熱點新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服