国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

微信聊天記錄數(shù)據(jù)分析

這篇具有很好參考價(jià)值的文章主要介紹了微信聊天記錄數(shù)據(jù)分析。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

目錄

一、項(xiàng)目背景

二、數(shù)據(jù)準(zhǔn)備

三、數(shù)據(jù)預(yù)處理及描述性統(tǒng)計(jì)

四、數(shù)據(jù)分析

1.聊天小時(shí)、日、月分別匯總分布圖

2.聊天時(shí)間序列分布圖

3.高頻詞匯統(tǒng)計(jì)

4.詞云圖展示

五、其它探索性分析


一、項(xiàng)目背景

2021年2月20日我和我女朋友第一次見面,之后開啟了我們兩個(gè)人的故事,時(shí)隔一年我想將我們的聊天記錄提取出來進(jìn)行簡(jiǎn)單的數(shù)據(jù)分析一下。微信里面有2021年4月20日至2022年2月19日的聊天記錄,一共十個(gè)月的數(shù)據(jù)。

二、數(shù)據(jù)準(zhǔn)備

在網(wǎng)上有許多文章關(guān)于可以找到關(guān)于如何將微信里面的聊天記錄導(dǎo)出成CSV或者txt格式,大家可以去參考。以下就簡(jiǎn)單的寫一下如何將微信的聊天記錄提取出來的步驟:
1.用電腦版微信將手機(jī)微信聊天記錄備份到電腦上
2.安裝模擬器,將手機(jī)微信登錄到模擬器的微信上(模擬器本身有root權(quán)限)
3.然后電腦版微信重新登錄,恢復(fù)聊天記錄到模擬器的微信里
4.模擬器安裝RE文件管理器,在文件管理器找到指定文件夾 /data/data/com.tencent.mm/MicroMsg
5.在MicroMsg文件中找到EnMicroMsg.db復(fù)制到/mnt/shell/emulated/0/others中,現(xiàn)在訪問windows的 C:\Users\你的用戶名\Nox_share\OtherShare 獲取該數(shù)據(jù)庫文件EnMicroMsg.db
6.找微信的uid,/data/data/com.tencent.mm/shared_prefs/ 找到文件auth_info_key_prefs.xml,找到default_uin后面的數(shù)字就是微信UID,模擬器里面可以直接看到IMEI
7.計(jì)算數(shù)據(jù)庫查詢密碼,模擬器IMEI+微信UID在免費(fèi)MD5在線計(jì)算得到的32位小寫MD5的前七位就是密碼
8.下載 sqlcipher 的軟件,輸入密碼就可以打開 EnMicroMsg.db 數(shù)據(jù)庫了
9.之后再軟件上直接導(dǎo)出CSV或者txt格式就行啦

注意:數(shù)據(jù)庫查詢密碼和微信的版本有關(guān)系,不同的坂本解碼方法不一樣,現(xiàn)在的最新版本 IMEI (手機(jī)序列號(hào))為固定值為1234567890ABCDEF,大家可以都去試一下。

三、數(shù)據(jù)預(yù)處理及描述性統(tǒng)計(jì)

原始數(shù)據(jù)一共有22列,74019行,說明我們兩在10個(gè)月的時(shí)間里面發(fā)了74018條消息,一共306天,平均每天發(fā)了241.89條消息,還處于熱戀期,嘿嘿。本文用的python進(jìn)行的數(shù)據(jù)分析,并附上代碼。

1.要將時(shí)間戳轉(zhuǎn)換為北京時(shí)間
2.處理圖片和鏈接等非文字聊天記錄
?

import pandas as pd
chat = pd.read_csv('D:/chat.csv', sep=',', usecols=[4,6,7,8],encoding="gbk")
chat.head()
Out[1]:
isSend createTime talker content
0 1 1.629640e+12 wxid_mbw5g1awfkvj22 我看看
1 0 1.629640e+12 wxid_mbw5g1awfkvj22 好可憐,有這樣的爹
2 0 1.629640e+12 wxid_mbw5g1awfkvj22 這五個(gè)娃命途多舛
3 1 1.629640e+12 wxid_mbw5g1awfkvj22 又是白宇和毛曉彤合作
4 1 1.629640e+12 wxid_mbw5g1awfkvj22 之前有一部,他們倆合作的挺火的劇叫什么來著
chat.shape

(74018, 4)

print(chat.isSend.value_counts())
0    38269
1    35749
Name: isSend, dtype: int64

isSend中為1的是我發(fā)的消息,為0的是女朋友發(fā)的消息,結(jié)果統(tǒng)計(jì)一共74018條消息,我發(fā)了35749,女朋友發(fā)了38269條消息,我比女朋友少發(fā)了2520條消息,果真還是我輸了。(手動(dòng)哭哭表情包)

四、數(shù)據(jù)分析

1.聊天小時(shí)、日、月分別匯總分布圖

import pandas as pd
import time
import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.font_manager import *#如果想在圖上顯示中文,需導(dǎo)入這個(gè)包
chat = pd.read_csv('D:/chat.csv', sep=',', usecols=[6,7,8],encoding="gbk")
myGirl = 'wxid_mbw5g1awfkvj22'
chat_time = []
chat_content = []
for i in range(len(chat)-1):
    content = chat[i:i+1]
    if content['talker'].values[0] == myGirl:
        t = content['createTime'].values[0]//1000#除以1000用以剔除后三位0
        c = content['content'].values[0]
        chat_time.append(t)
        chat_content.append(c)

def to_hour(t):
    struct_time = time.localtime(t)  # 將時(shí)間戳轉(zhuǎn)換為struct_time元組
    hour = round((struct_time[3] + struct_time[4] / 60), 2)
    return hour
hour_set = [to_hour(i) for i in chat_time]
myfont = FontProperties(fname=r'C:\Windows\Fonts\MSYH.TTC',size=22)#標(biāo)題字體樣式
myfont2 = FontProperties(fname=r'C:\Windows\Fonts\MSYH.TTC',size=18)#橫縱坐標(biāo)字體樣式
sns.set_style('darkgrid')#設(shè)置圖片為深色背景且有網(wǎng)格線
sns.distplot(hour_set, 24, color='lightcoral')
plt.xticks(np.arange(0, 25, 1.0), fontsize=15)
plt.yticks(fontsize=15)
plt.title('聊天時(shí)間分布', fontproperties=myfont)
plt.xlabel('時(shí)間段', fontproperties=myfont2)
plt.ylabel('聊天時(shí)間分布', fontproperties=myfont2)
fig = plt.gcf()
fig.set_size_inches(15,8)
fig.savefig('chat_time.png',dpi=100)
plt.show()
微信聊天記錄數(shù)據(jù)分析

從圖中我們可以看到聊天最多的時(shí)間段為22點(diǎn)到23點(diǎn),達(dá)到了11%以上,一般晚上聊的比較多,其次就是早飯前后和午飯前后聊的也比較多。發(fā)現(xiàn)在0點(diǎn)以后還有些聊天記錄,下次再分析的時(shí)候希望這部分的百分比降低,早睡才能變美哦。

微信聊天記錄數(shù)據(jù)分析

類似的思想可以繪制出每月的聊天記錄,因?yàn)閳D中4月只有10天,2月有19天聊天記錄所以比例會(huì)小一點(diǎn),8月和9月聊天記錄最多,往后的聊天記錄就有略有下降?。

微信聊天記錄數(shù)據(jù)分析

?類似的思想可以繪制每日匯總的柱線圖,可以看到1號(hào)和16號(hào)的聊天記錄較多,5號(hào)和19號(hào)的聊天記錄較少,總體分布較均勻。

微信聊天記錄數(shù)據(jù)分析

圖中橫坐標(biāo)為星期幾,可以看出分布較均勻,在周末略比工作日的聊天記錄多一點(diǎn)。?

2.聊天時(shí)間序列分布圖

def to_date(t):
    timeArray = time.localtime(t)
    otherStyleTime = time.strftime("%Y-%m-%d", timeArray)
    return otherStyleTime
date_set = [to_date(i) for i in chat_time]
a=pd.Series(date_set)
b=a.value_counts()
data=pd.Series(b)
data=data.sort_index()

import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np
import datetime#這個(gè)包很關(guān)鍵
#設(shè)定開始和結(jié)束時(shí)間
start=datetime.datetime(2021,4,20)
stop=datetime.datetime(2022,2,20)
delta=datetime.timedelta(1)#設(shè)定日期的間隔
dates=mpl.dates.drange(start,stop,delta)# 返回浮點(diǎn)型的日期序列,這個(gè)是生成時(shí)間序列,同理如果是將序列轉(zhuǎn)成日期呢?
#存在兩個(gè)問題,一個(gè)是坐標(biāo)軸沒有按照日期的形式去標(biāo)注,另一個(gè)是刻度的數(shù)量和位置也不合適
fig=plt.figure(figsize=(24,12))#調(diào)整畫圖空間的大小
plt.plot(dates,data,linestyle='-',marker='*',c='r',alpha=0.5)#作圖
ax=plt.gca()
date_format=mpl.dates.DateFormatter('%Y-%m-%d')#設(shè)定顯示的格式形式
ax.xaxis.set_major_formatter(date_format)#設(shè)定x軸主要格式
ax.xaxis.set_major_locator(mpl.ticker.MultipleLocator(30))#設(shè)定坐標(biāo)軸的顯示的刻度間隔
fig.autofmt_xdate()#防止x軸上的數(shù)據(jù)重疊,自動(dòng)調(diào)整。

微信聊天記錄數(shù)據(jù)分析

微信聊天記錄數(shù)據(jù)分析

圖中可以明顯的看出聊天的數(shù)據(jù)量隨時(shí)間的變化而變化,消息數(shù)量呈顯波動(dòng)的趨勢(shì)。12月份左右數(shù)據(jù)量明顯較少。表格中列出了數(shù)據(jù)量最多的5天和最少的5天,最多的一天是2021年8月28日,這一天剛好我我去武漢上學(xué)在火車上所以發(fā)的消息較多,發(fā)了804條。最少的是2021年7月22日這一天只發(fā)了4條聊天記錄,查看了一下改天4條聊天記錄都是我發(fā)的,那天確實(shí)是特殊情況,具體什么情況寶寶應(yīng)該知道,一共306天每天都有聊天記錄。

3.高頻詞匯統(tǒng)計(jì)

import pandas as pd
import time
import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
import datetime
import re
from matplotlib.font_manager import *#如果想在圖上顯示中文,需導(dǎo)入這個(gè)包
chat = pd.read_csv('D:/chat.csv', sep=',', usecols=[6,7,8],encoding="gbk")
myGirl = 'wxid_mbw5g1awfkvj22'
chat_time = []
chat_content = []
for i in range(len(chat)-1):
    content = chat[i:i+1]
    if content['talker'].values[0] == myGirl:
        t = content['createTime'].values[0]//1000#除以1000用以剔除后三位0
        c = content['content'].values[0]
        chat_time.append(t)
        chat_content.append(c)
        
def to_hour(t):
    struct_time = time.localtime(t)  # 將時(shí)間戳轉(zhuǎn)換為struct_time元組
    hour = round((struct_time[3] + struct_time[4] / 60), 2)
    return hour
pattern_1 = '.*?(寶寶).*?'
pattern_2= '.*?(晚安).*?'
pattern_3 = '.*?(吃飯).*?'
pattern_4 = '.*?(干嘛).*?'
pattern_5= '.*?(嗯嗯).*?'
pattern_6='.*?(喜歡).*?'
pattern_7='.*?(哈哈).*?'
pattern_8='.*?(早安).*?'
pattern_9='.*?(愛).*?'
pattern_set = [pattern_1, pattern_2, pattern_3, pattern_4,pattern_5, pattern_6, pattern_7, 
               pattern_8,pattern_9]

start = datetime.datetime.now()
statistic = [0,0,0,0,0,0,0,0,0]
for i in range(len(chat_content)):
    for j in range(len(pattern_set)):
        length = len(re.findall(pattern_set[j], str(chat_content[i])))
        statistic[j] += length
result = {
        '寶寶': statistic[0],
        '晚安': statistic[1],
        '吃飯': statistic[2],
        '干嘛': statistic[3],
        '嗯嗯': statistic[4],
        '喜歡': statistic[5],
        '哈哈': statistic[6],
        '早安': statistic[7],
        '愛': statistic[8]
        }
print(result)
end = datetime.datetime.now()
print('\n..........\n字符統(tǒng)計(jì)結(jié)束,用時(shí): {}\n............\n'.format(end-start))

{'寶寶': 627, '晚安': 645, '吃飯': 907, '干嘛': 472, '嗯嗯': 2280, '喜歡': 730, '哈哈': 1674, '早安': 9, '愛': 821}

.......... 字符統(tǒng)計(jì)結(jié)束,用時(shí): 0:27:56.019124 ............

可以將自己想要了解的詞匯輸入上去,然后就能得出一共發(fā)了多少條這樣的詞匯,本文中可以看到晚安一共有645條,一共大概300天的時(shí)間,可以看出幾乎每天每個(gè)人都發(fā)了晚安。寶寶也有627次,聊吃飯的話題也挺多的哈,哈哈發(fā)了1674次,說明聊天的氛圍還是蠻開心的,嘿嘿!

4.詞云圖展示

#因?yàn)榇a太長(zhǎng),這里只放部分代碼,具體的可以自己研究
def main(input_filename):
    content = '\n'.join([line.strip()
                         for line in codecs.open(input_filename, 'r', 'utf-8')
                         if len(line.strip()) > 0])
    stopwords = set([line.strip()
                     for line in codecs.open(stopwords_filename, 'r', 'utf-8')])

    segs = jieba.cut(content)
    words = []
    for seg in segs:
        word = seg.strip().lower()
        if len(word) > 1 and word not in stopwords:
            words.append(word)

微信聊天記錄數(shù)據(jù)分析

微信聊天記錄數(shù)據(jù)分析

因?yàn)槭呛团笥训牧奶煊涗浰晕也捎昧朔鄯鄣男男巫鳛樵~云的底層圖案,似乎更加好看而且懷念呢。我們可以看到上面兩幅圖詞云圖都可以看出晚安、回來、吃飯、親親等詞比較明顯的出現(xiàn)在圖上,看的越清晰說明改詞出現(xiàn)的頻率越高,在邊上也有些關(guān)于工作,家庭,生活的話題,幾乎覆蓋了所有的聊天話題。

五、其它探索性分析

因?yàn)闀r(shí)間比較有限,除了本文的一些分析外還可以對(duì)數(shù)據(jù)進(jìn)行預(yù)測(cè)建模,就是對(duì)女朋友的聊天記錄的詞匯進(jìn)行預(yù)測(cè),預(yù)測(cè)未來女朋友的一些聊天詞匯或者說心情的變化。也可以借助機(jī)器學(xué)習(xí)或者人工智能的手段對(duì)數(shù)據(jù)進(jìn)行挖掘,通過判斷心情詞匯,可以更好的知道如何回女朋友的消息才能讓女朋友更開心。本文就到此結(jié)束了,歡迎大家繼續(xù)往后面進(jìn)行研究。文章來源地址http://www.zghlxwxcb.cn/news/detail-441021.html

到了這里,關(guān)于微信聊天記錄數(shù)據(jù)分析的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 微信聊天記錄導(dǎo)出(華為手機(jī)版)

    關(guān)于微信記錄導(dǎo)出的有比較多的方法, 在這里進(jìn)行匯總下, 以下都是經(jīng)過我親測(cè)可行的, 不要去買一些付費(fèi)的軟件, 自己手動(dòng)操作下就好啦 主要參考這兩篇文章: 微信聊天記錄導(dǎo)出為電腦txt文件教程 微信聊天記錄導(dǎo)出(2020新版) 具體步驟: 1.先登錄電腦版微信 2.備份與遷移, 選擇備

    2024年02月09日
    瀏覽(92)
  • python解密微信聊天記錄

    python解密微信聊天記錄

    鏈接: 傻瓜教程:使用小米系列手機(jī)提取微信聊天記錄并制作詞云圖 鏈接: 手機(jī)端微信聊天記錄數(shù)據(jù)庫解密過程

    2024年02月07日
    瀏覽(723)
  • 信息搜集-讀取微信聊天記錄

    信息搜集-讀取微信聊天記錄

    在攻防演練的釣魚上線后,如果被釣的人使用微信,這時(shí)候可以通過讀取微信里的聊天記錄進(jìn)行進(jìn)一步搜集。 使用公開Github項(xiàng)目 https://github.com/AdminTest0/SharpWxDump 編譯命令:C:WindowsMicrosoft.NETFrameworkv4.0.30319csc.exe .Program.cs /platform:x86 首先獲取微信的Wechatkey ==》找到對(duì)應(yīng)聊天

    2023年04月10日
    瀏覽(93)
  • 微信聊天記錄導(dǎo)出的開源項(xiàng)目,火了!

    微信聊天記錄導(dǎo)出的開源項(xiàng)目,火了!

    大家好,我是 Jack。 今天又是分享開源項(xiàng)目的一天。 最近想訓(xùn)練一個(gè)符合某人說話風(fēng)格的 AI,微信的聊天記錄里就有著豐富的訓(xùn)練數(shù)據(jù)。 聊天記錄是珍貴的記憶,也是每一場(chǎng)對(duì)話、每一個(gè)互動(dòng)的真情流露。 想要拿到這些數(shù)據(jù),無論是保存?zhèn)浞葸€是用于 AI 訓(xùn)練,手動(dòng)拷貝都不

    2024年01月16日
    瀏覽(84)
  • Python uiautomation獲取微信內(nèi)容!聊天記錄、聊天列表、全都可獲取

    Python uiautomation獲取微信內(nèi)容!聊天記錄、聊天列表、全都可獲取

    Python uiautomation 是一個(gè)用于自動(dòng)化 GUI 測(cè)試和操作的庫,它可以模擬用戶操作來執(zhí)行各種任務(wù)。 通過這個(gè)庫,可以使用Python腳本模擬人工點(diǎn)擊,人工操作界面。本文使用 Python uiautomation 進(jìn)行微信電腦版的操作。 以下是本次實(shí)驗(yàn)的版本號(hào)。 你需要安裝 uiautomation 示例代碼 代碼解

    2024年02月04日
    瀏覽(83)
  • 導(dǎo)出手機(jī)微信聊天記錄全攻略

    導(dǎo)出手機(jī)微信聊天記錄全攻略

    12-5 在我們?nèi)粘J褂梦⑿诺倪^程中,有時(shí)候很需要把聊天記錄導(dǎo)出到電腦的Excel表格中,或者導(dǎo)出到網(wǎng)頁中。 但是有個(gè)軟件叫【 微信聊天記錄挖掘機(jī) 】,可以把微信電腦版的聊天記錄導(dǎo)出,那在手機(jī)微信中的聊天記錄怎么辦呢? 其實(shí)微信本身就帶有遷移功能,只需要把手機(jī)

    2024年02月04日
    瀏覽(90)
  • 微信錄屏怎么錄?微信聊天記錄怎么錄制下來

    微信錄屏怎么錄?微信聊天記錄怎么錄制下來

    微信作為我們?nèi)粘J褂玫臏贤üぞ?,里面保留著許多的信息。在有些時(shí)候,我們可能會(huì)遇到需要用錄屏功能,將微信里的信息分享出去的場(chǎng)景??墒俏⑿抛陨硎遣粠т浧凉δ艿模⑿配浧猎趺翠??我們究竟要怎么將信息給錄制下來呢?下面小編詳細(xì)地介紹一下。 ? 一.手機(jī)微

    2024年02月09日
    瀏覽(82)
  • 電腦微信聊天記錄遷移微信文件遷移備份恢復(fù)

    電腦微信聊天記錄遷移微信文件遷移備份恢復(fù)

    前言 前提:盡量保持微信版本號(hào)一致。 首先讓我們了解一下微信官方聊天記錄保存規(guī)則(只有手機(jī)的保存規(guī)則,但是原理都是一樣的) 此文章方法原理:微信PC版一定要保證原來的路徑目錄,且一定要同時(shí)拷貝【All Users】目錄。原因是【All Users】目錄里保存一些配置信息及

    2024年02月10日
    瀏覽(87)
  • 如何在 iPhone 上恢復(fù)微信聊天記錄!

    如何在 iPhone 上恢復(fù)微信聊天記錄!

    如今,微信擁有龐大的用戶群,很多人用它來溝通、支付、點(diǎn)餐等與我們?nèi)粘I钕嚓P(guān)的事情,我們的生活已經(jīng)離不開它,它功能強(qiáng)大,使用方便,給我們帶來了很多便利. 有時(shí)我們可能會(huì)不小心刪除或丟失了微信消息,或者切換微信帳號(hào)導(dǎo)致某些記錄丟失。在這些問題上,

    2024年02月11日
    瀏覽(84)
  • 記一次iOS微信恢復(fù)聊天記錄的嘗試

    記一次iOS微信恢復(fù)聊天記錄的嘗試

    最近手機(jī)壞了,為了到天才吧維修手機(jī),為手機(jī)做了一個(gè)愛思助手的全備份。結(jié)果手機(jī)修好之后愛思助手無法恢復(fù)備份到手機(jī)。之前從來沒有想到過iOS備份會(huì)失效,所以沒有對(duì)微信聊天記錄做單獨(dú)的備份。嘗試了2次無法恢復(fù),確認(rèn)不是偶然無法恢復(fù),于是我嘗試了多種辦法,

    2024年02月10日
    瀏覽(84)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包