欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python+pandas數(shù)據(jù)分析實踐總結(jié)

 更新時間:2023年07月14日 08:45:16   作者:Logos_515  
這篇文章主要介紹了Python+pandas數(shù)據(jù)分析實踐總結(jié)的相關(guān)資料,需要的朋友可以參考下

引言:

  在近日的python數(shù)據(jù)分析實戰(zhàn)課中,我學(xué)習(xí)到使用python進(jìn)行數(shù)據(jù)分析的流程、方法,對常使用的函數(shù)有一些認(rèn)識和了解,對 numpy, pandas 包有了一定的理解但不深。這篇博客將是我自己用于總結(jié)歸納的圣地,我將對整個項目的 key point 進(jìn)行歸納總結(jié),提取其中精華之所在,汲取之加以奮發(fā)向前。

一、分析數(shù)據(jù)文件:

  在拿到數(shù)據(jù)的第一刻,莫急,先打開數(shù)據(jù)文件看一看,明白文件里的數(shù)據(jù)能夠說明什么。于是乎我們得以提出分析的目標(biāo),并開始思索如何能夠?qū)崿F(xiàn)我們的目的。例如,我們手里有一份某電商平臺一年的營銷數(shù)據(jù),這份數(shù)據(jù)中包含了達(dá)成交易訂單的用戶ID、本次訂單對應(yīng)的商品數(shù)量、總價、時間,思考:我們可以利用這些數(shù)據(jù)得到哪些結(jié)論?——從時間維度:分析不同月份的營銷額;從客戶維度:分析回購率、復(fù)購率、新老用戶比例。根據(jù)得出的結(jié)論,我們得以制定相應(yīng)的策略來提高商家的盈利。

二、數(shù)據(jù)預(yù)處理:

提一嘴,在文件最開始導(dǎo)入包的時候輸入 plt.rcParams['font.sans-serif'] = 'SimHei' 以讓中文能夠正常顯示(IPython中如此)

首先讀取文件,利用 pandas 根據(jù)不同文件類型選擇不同的讀取函數(shù):

  • csv: pd.read_csv('name.csv', encoding='utf-8/GBK')
  • text: pd.read_table('name.txt', names=columns, sep='\s+') # names指定每一列數(shù)據(jù)的含義,sep是劃分?jǐn)?shù)據(jù)時的參考,\s+表示跳過任意多的空格
  • excel: pd.read_excel('name.xlsx')

接著進(jìn)行數(shù)據(jù)的預(yù)處理:

  • 對于出現(xiàn)NAN的行或列且需要刪除的:data.dropna(axis=0, how='any', inplace=True) # 刪除帶有NAN的一整行數(shù)據(jù),并修改原值
  • 對于重復(fù)出現(xiàn)的行或列:data.drop_duplicates(axis=0, inplace=True) # 刪除重復(fù)的行,并修改原值
  • 對于無用的行或列:data.drop(columns='order_id', axis=1, inplace=True) # 刪除 order_id 這一列
  • 對于需要更新索引的數(shù)據(jù):data.reset_index(drop=True, inplace=True) 把原來的索引index列刪除,并更新index

對于單位不統(tǒng)一的數(shù)據(jù):如下圖

看到銷售金額一列的單位有元也有萬元,并且含有逗號,為了方便處理,我們將其格式化。

def data_deal(number):
    if number.find('萬元')!= -1:#找到帶有萬元的,取出數(shù)字,去掉逗號,轉(zhuǎn)成float,*10000
        number_new = float(number[:number.find('萬元')].replace(',',''))*10000
    else: # 找到帶有元的并處理
        number_new = float(number[:number.find('元')].replace(',',''))
    return number_new
data['銷售金額'] = data['銷售金額'].map(data_deal)

這里我們使用到了 Series.map() 函數(shù),該函數(shù)的作用與 apply 和 applymap 類似,接收一個函數(shù)或含有映射關(guān)系的字典型對象,區(qū)別如下:

  • apply:作用于dataframe的整行或整列
  • applymap:作用于dataframe的每一個元素
  • map:作用于series中的每一個元素,在df結(jié)構(gòu)中無法使用map函數(shù)

詳情:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.map.html?highlight=map

到此這篇關(guān)于Python+pandas數(shù)據(jù)分析實踐總結(jié)的文章就介紹到這了,更多相關(guān)python數(shù)據(jù)分析內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論