日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

数据产品经理该懂的python技术

發布時間:2024/3/13 python 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据产品经理该懂的python技术 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、Python介紹

小奈:其實你們寫的代碼好像有不同派系的?

大仁:你是說編程語言?我來介紹下吧,我們來看下GitHub(程序員同城交友、代碼協作平臺)的數據,看下各種編程語言 Pull Requst的數據, Javascript的提交量最高,前端的鼎盛時期,python則處于飛速上升中,很有潛力。Java一直很穩,常年占據了后端主流編程語言第一。

二、Python熱度為何持續上漲?

python可以用來干什么呢?

  • 后端開發語言,常見開發架構django;
  • 數據分析,常用庫,pandas;
  • 爬蟲,scrapy;
  • 人工智能,tensorflow。

人工智能和數據分析,近年來需求持續攀升,這方面人才待遇也是水漲船高,既然python那么能干,熱度自然飛速上漲。

三、爬蟲

說到數據分析,我們不得不說下數據來源,一般是內部數據,也有外部數據,外部數據的獲取有很多種,最常見的方式就是爬蟲了。

爬蟲基于robots協議可以公開爬去網絡上的信息。

1.爬蟲工作原理

python中有成熟的爬蟲框架(scrapy、bs4),只要你給爬蟲一個網址,它就可以去爬取,和輸入url類似卻又不同,不同的是爬蟲會把這些html文件里有用的信息抓取回來,而且爬蟲可以爬取該網站相關的其它鏈接,像是daquan里的abc、123、456等。

小奈:爬取別人的信息會不會違法?

大仁:看你怎么爬取,其實有個爬蟲協議(robots),每個網站都可以聲明,其實就是聲明哪些文件可以、哪些不可以,下面以淘寶網的robots.txt為例:

User-agent: Baiduspider

Allow: /article

Allow: /oshtml

Disallow: /product/

Disallow: /

遵循robots協議后,爬取的數據不用于商用,基本上沒事,商用的話目前還是灰色地帶,混沌蠻荒階段。(拋磚引玉,求專業人士解答下)

2.淘寶對百度的屏蔽

當年還可以在百度里搜索到淘寶商品信息,后來淘寶決定對搜索引擎實施不同程度的屏蔽,那時候淘寶體量還沒那么大,屏蔽百度,會少了很多站外流量。

但是這個關鍵性的決定,讓用戶心智統一(淘寶里才可以搜索商品),后面現金流般的淘寶廣告就更不說了,站在當時,很考驗產品決策人。

3.搜索引擎

爬蟲似乎和搜索引擎密切相關,是的,是時候來科普下,搜索引擎的工作原理。

假如你在“JackSearch”這個搜索引擎里,輸入“產品經理”,那么當你點擊搜索時,服務器就會去數據庫查找,返回相關的文件信息,那么你就會問,這些文件是哪來的?
是爬蟲們去網頁世界里爬取的。

當然,搜索引擎遠比這個復雜,爬蟲抓取回來的信息,還需要存儲,建立索引,這個推薦一本書《Luence》。

4.數據產品經理(ex-developer)常用工具

在上古時代,Unix系統連界面都沒有,程序員都還是用vi來寫代碼的,就是密密麻麻黑乎乎的命令行狀態。到了今天,依然有部分極客只用命令行(terminal)來寫代碼,然后現在生活條件好了,大部分程序員都是用集成開發環境,這樣子可以提高效率,省下不少腦力。

5.PyCharm?(python的集成開發環境)

  • 數據庫工具:navicat(for mysql)、robomngo(for mongodb)
  • 后端開發工具:jetbian公司系列,webstorm(for JavaScript)、pycharm(for python)
  • 代碼管理工具:sourcetree(for git)、svn
  • 原型工具:axure、墨刀、etc

簡單介紹下pycharm,大概長這樣子,左邊是項目文件(1.py , 2.py),?主界面是文件代碼編寫窗口,底部是調試窗口。

6.爬蟲框架scrapy

Scrapy:Python開發的一個快速、高層次的屏幕抓取和web抓取框架,用于抓取web站點并從頁面中提取結構化的數據。Scrapy用途廣泛,可以用于數據挖掘、監測和自動化測試。

這里不得不說下,scrapy是分布式爬蟲框架,如何理解?上次也有介紹分布式,分布式就是假如100只爬蟲,今天的任務是爬取100本小說,那么如果一百臺機器,機器上各有一只,每只爬不同的一部小說,那就是分布式。

分布式爬蟲方便性能擴張,極大提高程序的抓取效率。

7.爬蟲實踐

  • ?新建工程?scrapy startproject tutorial;
  • ?創建爬蟲?scrapy genspider -t xxx.com;
  • ?修改settings.py,在settings.py中修改DEFAULT_REQUEST_HEADERA和USER_AGENT;
  • 定義item:DemoItem(scrapy.Item);name = scrapy.Field();title = scrapy.Field();link = scrapy.Field();info = scrapy.Field()
  • 編寫spider爬蟲邏輯;
  • 儲存到數據庫(mysql、mongodb、etc)。
  • 8.不想寫爬蟲又想抓數據?

    當然可以的,常見有八抓魚、火車頭之類。八爪魚有一些優勢,比如學習成本低,可視化流程,快速搭建采集系統;能直接導出excel文件和導出到數據庫中;降低采集成本,云采集提供10個節點,也能省事不少。

    四、數據分析告訴你,天龍八部在講什么?

    小奈:那python在數據分析工作中,如何發揮作用呢?

    大仁:數據分析可以用python、r、第三方分析工具,都可以,但最主要還是結合業務,要有分析思路,這個就要求有業務經驗了,我舉個例子吧,我常看小說,就以天龍八部為例子吧。

    “天龍八部”是哪八部?“天龍八部”都是“非人”,包括八種神道怪物,因為以“天”及“龍”為首,所以稱為“天龍八部”。
    八部者,一天,二龍,三夜叉,四乾達婆,五阿修羅,六迦樓羅,七緊那羅,八摩呼羅迦。

    看完介紹,還是不懂,沒關系,今天主要講的是,用數據分析天龍八部里高頻詞語、人物關系、(關系真的很復雜,電腦都跑的發燙,瑟瑟發抖)以及究竟在講啥?

    1.自己?

    看到下面的詞云,為什么“自己”這個詞,那么高頻?估計和寫作人稱有關,上帝視角?(有點不解,求天龍粉解答)

    乍看之下,段譽詞頻(1551)最高,其實要結合“業務”,實則喬峰才是正主。要從喬峰的身世說起,開頭中,喬峰是丐幫幫主,后身世揭破,契丹人也,改名蕭峰。

    所以喬峰的詞頻(1900+)=喬峰(963)+蕭峰(966)。

    從詞語中,我們可以看出,寫作手法,喬峰(段譽)聽/笑/呆/動詞,所以人物+動詞。

    2.人物關系圖

    故事有好多條主線。

    (1)尋仇:

    其中虛竹和喬峰,為什么關系最親密?因為虛竹的爸是殺死喬峰的爸的帶頭大哥,尋仇是小說的主線之一。

    (2)段正淳戀愛史:

    從另一角度看,可以說是,大理鎮南王,段正淳戀愛史,他和幾位女人談戀愛,并生下的都全都是女兒,女兒再一個個和段譽談戀愛,搞得段譽很痛苦,最后發現自己不是親生的故事。

    總結來說:故事是由“慕容博”和“段正淳”,兩位大Boss挑起的,各負責一條主線:

  • 慕容博想光復燕國,才策劃殺死蕭家,企圖引起兩國戰亂,引起蕭父報仇;
  • 鎮南王,則是負責拈花若草,一身情債,一個人很爽,搞得很多人很痛苦,最后自殺。
  • 五、實戰

    1.詞云

    這里主要用到了兩個庫:jieba分詞用的,wordcloud詞云用,matplib顯示用。

  • 下載小說txt文件;
  • 準備一張mask(遮罩)圖片;
  • 字體;
  • #coding:utf-8

    from os import path

    from collections import Counter

    import jieba

    from PIL import Image

    import numpy as np

    import matplotlib.pyplot as plt

    from wordcloud import WordCloud, STOPWORDS

    if __name__==’__main__’:

    #讀取文件

    d = path.dirname(__file__)

    pardir = path.dirname(d)

    pardir2 = path.dirname(pardir)

    cyqf = path.join(pardir2,’tlbbqf/’)

    text = open(path.join(d,’tlbb.txt’), encoding=”utf-8″, errors=”surrogateescape”).read()

    jieba_word = jieba.cut(text, cut_all=False) #cut_all 分詞模式

    data = []

    for word in jieba_word:

    data.append(word)

    dataDict = Counter(data)

    with open(‘./詞頻統計.csv’, ‘w’, encoding=’utf-8′) as fw:

    for k,v in dataDict.items():

    fw.write(“%s,%d\n” % (k,v))

    mask = np.array(Image.open(path.join(d, “mask.png”)))

    font_path=path.join(d,”font.ttf”)

    stopwords = set(STOPWORDS)

    wc = WordCloud(background_color=”white”,

    max_words=2000,

    mask=mask,

    stopwords=stopwords,

    font_path=font_path)

    # 生成詞云

    wc.generate(text)

    # 生成的詞云圖像保存到本地

    wc.to_file(path.join(d, “wordcloud.png”))

    # 顯示圖像

    plt.imshow(wc, interpolation=’bilinear’)

    plt.axis(“off”)

    plt.show()

    2.人物關系圖

    (1)統計詞頻

    text = open(path.join(d,'tlbb.txt'), encoding="utf-8", errors="surrogateescape").read()jieba_word = jieba.cut(text, cut_all=False) #cut_all 分詞模式data = []for word in jieba_word:data.append(word)dataDict = Counter(data)

    (2)計算人物之間矩陣關系

    (3)用gephi畫出人物關系

    首先是導入關系圖,逗號、矩陣、utf-8;

    然后就是箭頭,第一個是顯示節點信息,第二、三是調整連線的粗細、顏色;

    點擊某個節點,例如段譽,可以側重顯示他的人物關系。

    六、最后

    數據分析產品經理,該具備什么素質?

    最核心的當然是分析經驗/思路,但是基本的數據分析能力還是得有,最常見的就是Python或R,這里推薦下python吧,動手能力強的話可以做點其它的。

    接下來會帶來,一些機器學習的東西,不知道大家有沒有興趣?

    人工智能,比較有趣的一個方向,大家一起努力吧。

    總結

    以上是生活随笔為你收集整理的数据产品经理该懂的python技术的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。