如何讓陣列讀入空格 如何在分析前做好資料清洗

2021-10-11 17:24:04 字數 3438 閱讀 2060

提出問題

理解資料

資料清洗構建模型

資料視覺化

選擇子集

列名重新命名

缺失資料處理

資料型別轉換

資料排序

異常值處理

下面是對藥店銷售資料分析的例項:

提出問題:

要從銷售資料中分析出4個指標:

1)月均消費次數 2)月均消費金額 3)客單價 4)消費趨勢

2.理解資料

讀取excel資料,確認資料是否能正常執行,檢視資料量大小。

3.資料清洗

1)選擇子集

用loc[,]切片選擇需要的行列(本例不需要選擇子集)

2)重新命名列名

salesdf.rename(columns=,inplace=true)
3)處理缺失值

刪除缺失資料後,資料由6578行變成6575行

4)轉換資料型別

salesdf['銷售數量'] = salesdf['銷售數量'].astype('float')
(i)提取所需要的資訊:年-月-日,原始資料格式為:年-月-日 星期,要把年月日部分取出。

step1:定義分割日期與星期的函式①迴圈遍歷資料框全部行,②以空格' '為分割點,取分割後資料的第一部分(日期),③將取得的日期放入列表,④迴圈結束後將列表轉化成陣列,函式返回該陣列。

step2:取銷售時間這一列,帶入上面定義的函式,此時資料型別仍然是object

(ii)轉化成日期:pandas.to_datetime()方法

pandas.to_datetime官方文件:

pandas.to_datetime - pandas 0.25.3 documentation

時間格式format:strftime官方文件:

pandas.period.strftime - pandas 0.25.3 documentation

5)資料排序

(i)排序

dataframe.sort_values(

self,

by,axis=0,

ascending=true,

inplace=false,

kind='quicksort',

na_position='last')

salesdf=salesdf.sort_values(by='銷售時間',

ascending=true,

na_position='first')

pandas.dataframe.sort_values - pandas 0.25.3 documentation

(ii)重新命名行名

salesdf=salesdf.reset_index(drop=true)
6)處理異常值

檢視描述指標是否符合實際

刪除銷售數量小於0的資料:取銷售數量大於0的那些行

4.構建模型:依次計算4個業務指標

1)月均消費次數=總消費次數/月份數

①總消費次數:同一天,同乙個人發生的所有消費算作一次消費

如果銷售時間和社群卡號這兩列的值同時相同,只保留一條,將重複資料刪掉,再計算資料總行數。

kpi1_df=salesdf.drop_duplicates(

subset=['銷售時間', '社保卡號']

)totali=kpi1_df.shape[0]

②月份數

對去掉重複值的資料框kpi1_df排序,獲取銷售時間最大值和最小值,再按照30天/月計算月份數。

kpi1_df=kpi1_df.sort_values(by='銷售時間',

ascending=true)

kpi1_df=kpi1_df.reset_index(drop=true)starttime=kpi1_df.loc[0,'銷售時間']

endtime=kpi1_df.loc[totali-1,'銷售時間']

daysi=(endtime-starttime).days

monthsi=daysi//30

③計算月均消費次數

2)月均消費金額

3)客單價

4)趨勢圖

①計算各月的銷售資料

gb=groupdf.groupby(groupdf.index.month)

monthdf=gb.sum()

②畫圖

import matplotlib.pyplot as plt
下面**執行會出錯

monthdf.plot(x=monthdf.index,y='銷售數量') 

plt.grid(true)

plt.show()

keyerror: "none of [int64index([1, 2, 3, 4, 5, 6, 7], dtype='int64', name='銷售時間')] are in the [columns]"
修改後:

monthdf.plot(y='銷售數量')  

php網頁空格,如何在HTML中插入空格

一 鍵入空格 在html頁面中,我們可以通過鍵入 空格 鍵來插入空格。例 在p.p1中鍵入乙個空格,在p.p2中鍵入5個空格。注 此時是半形狀態鍵入 空格 測試文字 php中文網!測試文字 php中文網!效果圖 可以看出,無論我們在html中是鍵入1個空格或者5個空格,還是其他多個空格,web瀏覽器...

終端控制 如何在不輸入回車讀入字元

摘要 一般情況下,我們在終端輸入一些字元,輸入的同時可以編輯 增加,刪除,修改 然後輸入回車,這些字元被送到緩衝區。但是,在more程式和其他的程式中,比如遊戲中的快捷鍵,我們需要的是不用輸入回車就可以讀取字元。此時,我們就需要了解如何控制終端,使得在不輸入回車的情況下就可以讀入字元。首先,我們看一...

如何將 txt檔案讀入到陣列

格式是 intput.txt中的示例數字為 4 6 8 10 那麼問題來了,如何讀取這段數字,博主的思路是把這個讀入到陣列裡,然後乙個乙個調出來驗證猜想就好了,輸出到檔案也方便。但是,就是這樣乙個輸出到陣列,折騰了博主好久 博主很菜,勿噴。當用fgets 函式時,它每次只讀取乙個位元組,就是說,a ...