excel loc() python_总结:像Excel一样使用python进行数据分析
Excel是數(shù)據(jù)分析中最常用的工具,本篇文章通過python與excel的功能對比介紹如何使用python通過函數(shù)式編程完成excel中的數(shù)據(jù)處理及分析工作。在Python中pandas庫用于數(shù)據(jù)處理,通過這些函數(shù)介紹如何通過python完成數(shù)據(jù)分析中導(dǎo)入數(shù)據(jù),理解數(shù)據(jù),清洗數(shù)據(jù),模型構(gòu)建和一部分KPI指標(biāo)如何實(shí)現(xiàn)。
使用的數(shù)據(jù)是 朝陽醫(yī)院2018年銷售數(shù)據(jù)
導(dǎo)入數(shù)據(jù)以及理解數(shù)據(jù)部分
導(dǎo)入excel
import pandas as pd
xls=pd.ExcelFile('G:xlsx文件朝陽醫(yī)院2018年銷售數(shù)據(jù).xlsx')
salesdf=xls.parse('Sheet1')
Salesdf.head()
數(shù)據(jù)維度(行列)
shape可以查看該表中的行數(shù)和列數(shù)
查看數(shù)據(jù)格式
Dtypes是一個(gè)查看數(shù)據(jù)格式的函數(shù),可以一次性查看數(shù)據(jù)表中所有數(shù)據(jù)的格式,也可以指定一列來單獨(dú)查看。
指定一列查看:
查看統(tǒng)計(jì)信息
使用Describe函數(shù)可以查看統(tǒng)計(jì)信息計(jì)數(shù),平均值,標(biāo)準(zhǔn)差,最小值,四分位數(shù),中位數(shù),最大值。
查看列名稱
使用columns函數(shù)查看列名稱
數(shù)據(jù)清洗部分
刪除缺失值
Python中處理空值的方法比較靈活,可以使用 Dropna函數(shù)用來刪除數(shù)據(jù)表中包含空值的數(shù)據(jù),也可以使用fillna函數(shù)對空值進(jìn)行填充。
使用fillna函數(shù)把空值用0填充
更改列名稱
Rename是更改列名稱的函數(shù),我們將來數(shù)據(jù)表中的應(yīng)收金額列更改為應(yīng)收金額(元)
salesdf=salesdf.rename(columns={'應(yīng)收金額':'應(yīng)收金額(元)'})
刪除重復(fù)值
使用drop_duplicates()刪除重復(fù)值
分列
sales_split=pd.DataFrame((x.split(' ') for x in salesdf['購藥時(shí)間']),
index=salesdf.index,
columns=['日期','周幾'])
需要注意的是缺失值會(huì)被當(dāng)作浮點(diǎn)型 而split函數(shù)需要字符串類型,要先刪除缺失值
將完成分列后的數(shù)據(jù)表與原數(shù)據(jù)表進(jìn)行匹配
salesdf=pd.merge(salesdf,sales_split,right_index=True, left_index=True)
刪除列
使用drop刪除列,有以下等價(jià)的語法
DF= DF.drop('column_name', 1);
DF.drop('column_name',axis=1, inplace=True)
使用drop刪除了購藥時(shí)間這一列。
修改日期格式
使用to_datetime函數(shù)進(jìn)行修改
salesdf.loc[:,'日期']=pd.to_datetime(salesdf.loc[:,'日期'],format='%Y-%m-%d',errors='coerce')
排序
使用sort_values進(jìn)行排序
By:按哪一列排序
ascending=True降序
ascending=Falses升序
salesdf=salesdf.sort_values(by='日期',ascending=True)
重命名行名
使用reset_index重命名行名
刪除異常值
由于銷量,應(yīng)收金額和實(shí)收金額不為負(fù),所以應(yīng)該清除異常值
使用查詢條件刪除了異常值
數(shù)據(jù)建模部分
數(shù)據(jù)篩選
#使用“與”條件進(jìn)行篩選
salesdf.loc[(salesdf['列名']=='數(shù)值')&(salesdf['列名']=='數(shù)值'),['列名1','列名2','列名3','列名4']]
#使用“或”條件進(jìn)行篩選
salesdf.loc[(salesdf['列名']=='數(shù)值')|(salesdf['列名']=='數(shù)值'),['列名1','列名2','列名3','列名4']]
在前面的代碼后增加price字段以及sum函數(shù),按篩選后的結(jié)果將price字段值進(jìn)行求和,相當(dāng)于excel中sumifs的功能。
還有一種篩選的方式是用query函數(shù)。下面是具體的代碼和篩選結(jié)果。
數(shù)據(jù)匯總
Excel的數(shù)據(jù)目錄下提供了“分類匯總”功能,可以按指定的字段和匯總方式對數(shù)據(jù)表進(jìn)行匯總。Python中通過Groupby函數(shù)完成相應(yīng)的操作,并可以支持多級分類匯總。
Groupby是進(jìn)行分類匯總的函數(shù),使用方法很簡單,制定要分組的列名稱就可以,也可以同時(shí)制定多個(gè)列名稱,groupby按列名稱出現(xiàn)的順序進(jìn)行分組。同時(shí)要制定分組后的匯總方式,常見的是計(jì)數(shù)和求和兩種。
可以通過關(guān)聯(lián)的列進(jìn)行查詢,通過groupby函數(shù)計(jì)算出了商品的銷售次數(shù)。
計(jì)算幾個(gè)KPI指標(biāo):
1.月均消費(fèi)次數(shù)
刪除重復(fù)數(shù)據(jù)計(jì)算消費(fèi)總次數(shù)
設(shè)定好起始日期和結(jié)束日期
計(jì)算天數(shù),月份數(shù)。然后用所有消費(fèi)次數(shù)除以月份數(shù)可以得到月均消費(fèi)次數(shù)。
2.客單價(jià)
使用總消費(fèi)金額除以消費(fèi)次數(shù)得到客單價(jià)
3.月均消費(fèi)金額
使用總消費(fèi)金額除以消費(fèi)次數(shù)得到月均消費(fèi)金額
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的excel loc() python_总结:像Excel一样使用python进行数据分析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 酷比魔方 X Pad 平板将于 3 月
- 下一篇: “192”号段诈骗电话开卡团伙被打掉,涉