def
get***
(self):
counts = dict()
wc_friends = pd.dataframe(self.friends)
*** = wc_friends.***
***_list =
for i in ***:
***_item = set(***)
for s in ***_item:
counts[s] = ***_list.count(s)
return counts
# print(counter(***))
defplot_***
(self):
counts = self.get***()
# x_label = ['ubnknow', 'male', 'female']
x_label = ['0', '1', '2']
y_label =
for i in counts:
plt.xticks((0,1,2),("unknow", "male", "female"))
# plt.bar(range(len(y_label)), y_label, width='0.35', tick_label = x_label, color = 'rgb')
plt.bar(range(len(y_label)), y_label, width=0.7, color = 'byg')
plt.xlabel("***")
plt.ylabel('number')
plt.title('*** analysis')
# plt.xlabel(u"性別", fontproperties=font)
# plt.ylabel(u'數目', fontproperties=font)
# plt.title(u'性別分布', fontproperties=font)
for a,b in zip(x_label, y_label):
plt.text(a, b, '%.0f'%b, ha= 'center', va='bottom',fontsize = 7)
plt.show()
這塊是對性別的乙個分析,用matplotlib畫圖得到如下:
我是很想知道那21個是不是可男可女的?好可怕我竟然有這麼多奇怪的好友,男生190,女生129,還不錯,爭取今年結束時女生數可以超過男生數(逃。
接下來是對好友地域的分析,**如下:
def
get_province
(self):
provinces_pd = pd.dataframe(self.friends).province
provinces_only = set(provinces_pd)
provinces_counts = dict()
provinces_numbers =
for i in provinces_pd:
for j in provinces_only:
provinces_counts[j] = provinces_numbers.count(j)
return provinces_counts
defplot_province
(self):
counts = self.get_province()
# python3裡面object.keys()返回的不是乙個可定位的集合,所以要用list轉換
keys = list(counts.keys())
# print(type(keys))
counts_split_space = dict()
for k in keys[1:len(counts)]:
counts_split_space[k] = counts[k]
#這裡是reverse,不是reversed
counts_sorted = sorted(counts_split_space.items(), key= lambda d: d[1], reverse=true)
provinces_name =
provinces_number =
print(type(counts_sorted))
for i in counts_sorted[:10]:
# print(provinces_name)
# print(provinces_number)
colors = ['red', 'yellow', 'blue', 'green']
explode = (0.05,0,0,0,0,0,0,0,0,0)
plt.pie(provinces_number, explode = explode, labels= provinces_name, colors= colors, labeldistance=1.1,
autopct='%3.0f%%', shadow=false, startangle=90, pctdistance= 0.8)
plt.axis('equal')
# plt.legend(loc='upper left', bbox_to_anchor=(-0.1, 1))
plt.grid()
plt.show()
解釋一下,因為地域中來自「火星」的好友比較一些,有些地域基本上個數就是乙個,還有大概50多位好友在地域這一欄是選擇空的,基於以上兩點,刨去了地域為空以及地域分布人數極少的地域,選取了人數排名前十位的地域,分析如下:
有沒有猜出我的家鄉在哪,哈哈哈
最後是對簽名乙個詞云分析,**如下:
def
get_whatsup
(self):
signatures = pd.dataframe(self.friends).signature
regex1 = re.compile('')
# 匹配兩個以上佔位符。
regex2 = re.compile('\s')
# 用乙個空格替換表情和多個空格。
wc = wordcloud(background_color='white', # 設定背景顏色
mask=background_image, # 設定背景
max_words=2000, # 設定最大現實的字數
font_path='stfangso.ttf',
# font_path='font2.ttf',
stopwords=stopwords, # 設定停用詞
max_font_size=50, # 設定字型最大值
random_state=30, # 設定有多少種隨機生成狀態,即有多少種配色方案
)wc.generate(word_space_split)
image_colors = imagecolorgenerator(background_image)
wc.recolor(color_func=image_colors)
plt.imshow(wc)
plt.axis('off')
plt.show()
資料分析之 微信好友分析
itchat包的api列表 在命令終端輸入 pip install itchatimport itchatfriends itchat.get friends update true 返回乙個字典列表,第乙個是本人資訊。字典中的每乙個key表示乙個資訊,如 性別,暱稱。建議斷點通過pycharm預覽...
通訊錄 我的微信通訊錄整理心得
找不到人?比如 想找一下幾個月前在朋友聚會上認識的那個女生,結果 朋友疏遠 隨著時間的流失,原來特別要好的朋友靜靜躺在通訊錄裡,然後漸漸失去聯絡 雜亂無章 同乙個姓氏擠滿了同學 同事 朋友 不知道哪兒來的朋友,眼花繚亂看得人頭皮發麻,連自己都不願多看幾眼,更別說快速尋找 如果你的通訊錄只有幾十個或是...
通訊錄源程式分析
1 linkmanmodels類庫 1 linkmanmodels類庫,首先建立這樣乙個類庫,包括兩個檔案,person.cs和friendgroup.cs,分別定義了類person 僅包括有關 人 的屬性 和類friendgroup 有關 組 的屬性 2 model定義業務實體,它是傳遞各種資料的...