當前位置:成語大全網 - 書法字典 - python數據標簽分發是為了什麽?

python數據標簽分發是為了什麽?

壹般來說,把數據按分析目的分組,研究各組的分布規律,是壹種分析方法。數據分組有兩種方式:等距分組或不等距分組。

分布分析在實際數據分析實踐中應用廣泛,如性別分布、年齡分布、消費分布等。

本文將講解以下幾個知識點:

1.數據類型的修改

2.新的場生成方法

3.數據有效性檢查

4.性別和年齡分布

分布分析

1.導入相關的庫和包

進口熊貓作為pd

將matplotlib.pyplot作為plt導入

導入數學

2.數據處理

& gt& gt& gtdf = pd.read_csv('UserInfo.csv ')

& gt& gt& gtdf.info()

RangeIndex: 1000000個條目,0到999999

數據列(共4列):

UserId 1000000非空int64

CardId 1000000非空int64

LoginTime 1000000非空對象

DeviceType 1000000非空對象

dtypes: int64(2),object(2)

內存使用量:30.5 MB以上

因為接下來需要做年齡分布分析,但是從源數據info()方法,我們知道沒有年齡字段,需要自己生成。

#檢查年齡範圍並進行分區。

& gt& gt& gtdf['年齡']。max(),df['年齡']。最小值()

# (45, 18)

& gt& gt& gtbin =[0,18,25,30,35,40,100]

& gt& gt& gt標簽= ['18歲及以下',' 19歲至25歲',' 26歲至30歲',' 31歲至35歲',' 36歲至40歲',' 41歲及以上']

& gt& gt& gtDf['年齡分層'] = pd.cut (df ['年齡'],箱,標簽=標簽)

計算年齡

因為數據來自線下,所以數據的有效性還沒有得到驗證。在計算年齡之前,應該對數據進行識別和驗證。

#選擇出生日期:月日

& gt& gt& gtdf[['月','日']] = df['日期出生'].str.split('-',expand=True)。位置[:,1:2]

#選擇流產看看有沒有31。

& gt& gt& gtdf_small_month = df[df['月']。isin(['02 ',' 04 ',' 06 ',' 09 ',' 11'])]

#無效數據,如圖所示。

& gt& gt& gtdf _ small _ month[df _ small _ month[' day ']= = ' 31 ']

#全部刪除,全部為無效數據。

& gt& gt& gtdf . drop(df _ small _ month[df _ small _ month[' day ']= = ' 31 ']。index,inplace=True)

#同理,查二月。

& gt& gt& gtdf_2 = df[df['月']= ' 02 ']

#可以仔細做2月份的校準,判斷是否運行年份再刪除。

& gt& gt& gtdf_2[df_2['日']。isin(['29 ',' 30 ',' 31'])]

#全部刪除

& gt& gt& gtdf.drop(df_2[df_2['日']。isin(['29 ',' 30 ',' 31'])]。index,inplace=True)

#計算年齡

#方法1

& gt& gt& gtdf['年齡'] = df['出生日期']。apply(lambda x:math . floor((PD . datetime . now()-PD . to _ datetime(x))。天/365))

#方法2

& gt& gt& gtdf['出生日期']。apply(lambda x : pd.datetime.now()。year - pd.to_datetime(x)。年份)

4.年齡分布

#檢查年齡範圍並進行分區。

& gt& gt& gtdf['年齡']。max(),df['年齡']。最小值()

# (45, 18)

& gt& gt& gtbin =[0,18,25,30,35,40,100]

& gt& gt& gt標簽= ['18歲及以下',' 19歲至25歲',' 26歲至30歲',' 31歲至35歲',' 36歲至40歲',' 41歲及以上']

& gt& gt& gtDf['年齡分層'] = pd.cut (df ['年齡'],箱,標簽=標簽)

因為這個數據記錄了用戶登錄信息,所以肯定有重復的數據。Python如此強大,以至於可以使用nunique()方法進行重復數據刪除統計。

#檢查是否有重復值

& gt& gt& gtdf.duplicated('UserId ')。sum() #47681

#總數據輸入

& gt& gt& gtdf.count() #980954

雖然分組後也可以用count()方法計算分布,但僅限於沒有重復數據的情況。Python是如此的不可戰勝,它提供了nunique()方法,可以用來計算有重復值的情況。