国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于python+pandas的數(shù)據(jù)分析處理應(yīng)用

2018-12-24 15:06何春燕王超宇成都理工大學(xué)
數(shù)碼世界 2018年7期
關(guān)鍵詞:面向?qū)ο?/a>用戶數(shù)數(shù)據(jù)處理

何春燕 王超宇 成都理工大學(xué)

1.引言

Python是一種面向?qū)ο蟮哪_本語言,自20世紀(jì)90年代初誕生到現(xiàn)在,已經(jīng)被廣泛應(yīng)人工智能,機(jī)器學(xué)習(xí),大數(shù)據(jù)等方面。python語法簡單,容易理解和上手。無論安裝還是使用python都不需要付費(fèi)。python是一種面向?qū)ο蟮恼Z言,同時也支持面向過程?;谒拈_源的本質(zhì),python可在許多平臺上使用,包括Windows,Linux等。python有強(qiáng)大的標(biāo)準(zhǔn)庫和豐富的第三方庫。.

Pandas被廣泛運(yùn)用于金融、統(tǒng)計以及社會科學(xué)領(lǐng)域的數(shù)據(jù)處理。

2.Pandas處理數(shù)據(jù)

2.1 數(shù)據(jù)導(dǎo)入

程序段1:

從mangoDB讀取用戶表

import pandas as pd

from pymongo import MongoClient

host = ‘0.0.0.0’# 配置 MongoDB 連接信息

port = 27019

client = MongoClient(host=host, port=port)

collenction =‘user’

cursor = db[collection].find({})

User = pd.DataFrame(list(cursor))

部分?jǐn)?shù)據(jù)展示:

user_id channel

first_visit_time

2018-01-04 10:43:33 33737760 anzhishichang

2018-01-04 13:54:50 33217154 anzhishichang

2018-01-08 17:46:22 33130645 anzhishichang

2.2 數(shù)據(jù)處理

2.2.1. 獲取新增用戶

新增用戶:首次使用應(yīng)用程序的用戶,以first_visit_time為依據(jù),判斷用戶是否為新增用戶。

時間序列分析在金融數(shù)據(jù)分析中占據(jù)重要位置,可傳入字符串進(jìn)行索引。

例如可傳入”20180109”來獲取1月9號首次訪問應(yīng)用程序的用戶數(shù)據(jù),

User[‘20180109]

user_id channel

first_visit_time

2018-01-09 15:50:44 33217151 anzhishichang

可傳入時間段獲取數(shù)據(jù):

User[“201808”:”20180111”]

user_id channel

first_visit_time

2018-01-08 17:43:11 4897182 anzhishichang

2018-01-11 09:18:59 33217153 anzhishichang

時間索引的切片操作包含尾部的數(shù)據(jù)。

2.2.2.獲取最近7天新增用戶數(shù)

程序段2:

import pandas as pd

from datetime import datetime, date, timedelta

end_date = date.today()

new_user = pd.Series(name=`新增用戶數(shù)`)

#通過for循環(huán)獲取7天的新增用戶數(shù)

for i in range(7):

dt = date.today() - timedelta(days=i)

sum_new = User[dt[-4:]]

new_user[dt] = len(sum_new)

返回結(jié)果:

0522 65

0521 36

0520 8

0519 6

0518 3

0517 41

0516 58

可清晰的看到,每天的新增用戶數(shù)。

2.2.3.獲取最近7天不同渠道的新增用戶數(shù)

程序段3:

import pandas as pd

from datetime import datetime, timedelta, date

new7channel = pd.DataFrame()

#外層for循環(huán)獲取最近7天的新增用戶數(shù)據(jù)

for i in range(7):

Dt = date.today() - timedelta(days=i)

dt1 = datetime.strftime(dt, "%Y%m%d")

data = User[dt1]

Channel = data[`channel`].drop_duplicates()

new_channel=pd.Series(name=dt1[-4:])

#內(nèi)層for循環(huán),獲取各渠道新增用戶數(shù)

for cn in channel:

dt_cn = data[data[`channel`] == cn]

num_channel[cn] = len(dt_cn)

#concat函數(shù)將數(shù)據(jù)連接起來。通過fillna函數(shù)將值為NaN數(shù)據(jù)用0填充。

new7channel=pd.concat([new7channel,new_channel],axis=1).fillna(0)

部分結(jié)果:

0523 0522 0521 0520 0519 0518 0517

AppStore 8.0 20.0 13.0 13.0 12.0 11.0 20.0

c360 0.0 2.0 2.0 0.0 0.0 0.0 1.0

橫向數(shù)據(jù)表示不同渠道最近7天的新增用戶數(shù),縱向則表明不同渠道的新增用戶數(shù)。

3 結(jié)束語

在大數(shù)據(jù)時代,數(shù)據(jù)分析的影響及重要性在不斷拓寬和加深。本文介紹了基于Python,pandas簡單的數(shù)據(jù)分析過程。

猜你喜歡
面向?qū)ο?/a>用戶數(shù)數(shù)據(jù)處理
GEE平臺下利用物候特征進(jìn)行面向?qū)ο蟮乃痉N植分布提取
認(rèn)知診斷缺失數(shù)據(jù)處理方法的比較:零替換、多重插補(bǔ)與極大似然估計法*
基于低頻功率數(shù)據(jù)處理的負(fù)荷分解方法
無人機(jī)測繪數(shù)據(jù)處理關(guān)鍵技術(shù)及運(yùn)用
我國IPTV總用戶數(shù)3.07億戶,同比增長6.7%
高層建筑沉降監(jiān)測數(shù)據(jù)處理中多元回歸分析方法的應(yīng)用研究
高層建筑沉降監(jiān)測數(shù)據(jù)處理中多元回歸分析方法的應(yīng)用研究
面向?qū)ο蠓椒ㄔ谒罾銹LC編程中應(yīng)用分析
面向?qū)ο蟮慕M合軟件工程研究
從面向過程到面向?qū)ο笏季S方式的教學(xué)引導(dǎo)