首頁>Club>
我會利用空閒時間學Python,困惑在於無法學以致用,好奇大家用用它做什麼呢?
4
回覆列表
  • 1 # 外星人玩Python

    對於初學者而言,的確需要明確自己的Python應用領域是哪些。

    Python是一門語言、一個平臺,他的強大在於其平臺上的生態足夠廣泛。對於Python學習者而言,平臺上有哪些領域的庫,那麼你就可以用Python做事情。

    下面列出我所知道的

    資料處理

    Python中的pandas是一個非常優秀的資料處理包,可以讓你靈活應對幾乎任何形式的資料形式。

    學Python還不會處理Excel資料?帶你用pandas玩轉各種資料處理

    "Python替代Excel Vba"系列(二):pandas分組統計與操作Excel

    資料分析與挖掘

    這是一個非常有趣味的事情,想象一下你可以透過一份資料,挖掘事情背後的一些邏輯。

    與上一點一致,你可以使用 pandas + 其他輔助包(作圖用 seaborn或其他,快速探索性分析用Profiling包),讓你快速探索你的資料。

    我的相關文章可以檢視:

    Python資料分析:挖掘《泰坦尼克號》的秘密

    20行程式碼教會Python分析商品評價

    Python程式實戰:入門Python不僅讓你少加班,他還可以這麼炫酷

    遊戲

    使用Python可以做出很多優秀的2d遊戲。使用的庫是pygame。這方面我比較少接觸,你可以網上查閱資料。

    當然,有時候你可以做一些無需大量漂亮介面的遊戲。

    你可以參考我的相關文章:

    用Python做一個有趣的拿石子游戲

    Python做人工智慧?讓電腦自己學會玩遊戲,實戰帶你入門機器學習

    爬蟲

    這個我就不細說了,如果你是用python做資料相關的事情,那麼爬蟲可能是你的必修課。python有足夠多和強大的爬蟲相關的包可以用。目前我也在構想一些爬蟲相關的文章。

    我的相關文章:

    讓Python爬蟲告訴你-吳彥祖今天不舒服了!網站

    python建立網站也十分容易。這方面我從來不使用python做網站,但如果你需要快速建立簡單的網站,可以考慮使用python,而非其他的程式語言。

    還有其他很多我不知道的領域~~~

    最後

    最後想說一下,學習以上每一個領域,最根本的是領域知識而非是否使用python,我之所以選用python做以上的事情,是因為使用python有大量的包可以讓你快速做出事情。

    挑選一個你自己感興趣的領域,然後用上你學的python吧。

  • 2 # python進階者

    1、人工智慧方向。目前較為火爆的包括演算法崗,計算機視覺,NLP等,但這塊門檻和難度都較高,而且主要不在Python在演算法。

    2、資料處理與分析方向。這個方向主要學習對資料的處理及分析,目前市面上形形色色的崗位很多,包括最近很火的量化工程師,這塊來講主要是學習Python的幾個資料分析相關庫,然後也需要相關領域的知識,做分析的話對數學建模又要求。

    3、Python爬蟲,這個方向主要是從指定網站或APP獲取相關資料,然後進行資料清洗篩選出有用的資料,除了相關Python技能外還需要對前端知識有所瞭解。

    4、Python後端,這個是最接近常規軟體開發的,大多數Python工程師做的其實也只是這塊。

    5、駭客、計算機桌面程式等,這些方向相對來說比較冷門,但Python也是可以做的。

  • 3 # 樂百川

    python的優勢就是庫多,基本上只要你能想到的,都可以用python呼叫別人的庫,輕鬆完成工作。

    比如說django、flask、pyramid等web框架,可以快速做出一個網站。我一直有計劃做一個各個網站的聚合類簽到器,但是一直沒開工。你可以嘗試一下。

    最近我買了個樹莓派。你隨便搜一下,很多樹莓派智慧小車、影象識別的例子。配合樹莓派強大的介面,可以輕鬆做出物聯網產品來。

    如果你常用Word、Excel的辦公軟體,也有對應的類庫可以控制文件。最近我學了一點openpyxl,它可以用來操縱Excel文件。你把下面的程式碼儲存成py檔案,然後用pip安裝openpyxl和faker這兩個類庫,就可以執行下面的程式碼了。執行完之後會生成一個Excel文件,裡面包含了一些模擬資料。你甚至還可以用openpyxl生成圖表,openpyxl的功能還有很多,想詳細學習建議自己看文件。

    總之,python功能非常強大。你不用非得把python學的多麼好,只要學了一點知識,就可以馬上把它用出來。有了python,生活可以變得更簡單。

    from openpyxl import Workbookimport randomfrom faker import Fakerfake = Faker("zh_CN")book = Workbook()ws = book.activews.title = "學生成績表"# 表頭ws["a1"] = "姓名"ws["b1"] = "語文"ws["c1"] = "數學"ws["d1"] = "英語"ws["e1"] = "物理"ws["f1"] = "化學"ws["g1"] = "生物"# 生成50個人的成績for row in range(2, 52): ws[f"a{row}"] = fake.name() ws[f"b{row}"] = random.gauss(66, 20) ws[f"c{row}"] = random.gauss(66, 20) ws[f"d{row}"] = random.gauss(66, 20) ws[f"e{row}"] = random.gauss(66, 20) ws[f"f{row}"] = random.gauss(66, 20) ws[f"g{row}"] = random.gauss(66, 20)# 總計、平均數、方差、標準差ws["a53"] = "總計"ws["a54"] = "平均數"ws["a55"] = "方差"ws["a56"] = "標準差"column = ["b", "c", "d", "e", "f", "g"]for col in column: ws[f"{col}53"] = f"=sum({col}2:{col}51)"for col in column: ws[f"{col}54"] = f"=average({col}2:{col}51)"for col in column: ws[f"{col}55"] = f"=varp({col}2:{col}51)"for col in column: ws[f"{col}56"] = f"=stdevp({col}2:{col}51)"book.save("book.xlsx")

  • 4 # Crossin的程式設計教室

    回答一下題主的問題

    學Python能用來做什麼~

    1.Web應用開發

    在因大資料、人工智慧為人所熟知之前,Python 就已經在 Web 開發領域被廣泛使用,產生了 Django、Flask、Tornado 等 Web 開發框架。得益於其簡潔的語法和動態語言特性,Python 的開發效率很高,因而深受創業團隊的青睞。

    一些知名網際網路企業和產品將 Python 作為主要開發語言:

    Dropbox : 提供檔案分享服務

    Twitter : 一家美國社交網路及微部落格服務的網站

    Quora : 社交問答網站

    知乎 : 社交問答平臺

    由於後臺伺服器的通用性,除了狹義的網站之外,很多 App 和遊戲的伺服器端也同樣用 Python 實現。

    Battlefield 2 : 遊戲《戰地2》

    gedit : Linux平臺的文字編輯器

    Minecraft: Pi Edition :遊戲《Minecraft》的樹莓派版本

    2.自動化運維

    在 Web 開發領域,Python 只是眾多語言選擇之一;但在自動化運維領域,Python 則是必備技能。

    靈活的功能和豐富的類庫使其成為運維工程師的首選語言。大量自動化運維工具和平臺或以 Python 開發,或提供 Python 的配置介面。單從 Linux 內建 Python 這一點來看也足見其在伺服器和運維領域的地位。

    因此很多公司雖然核心業務不是使用 Python,但在管理系統、運維等方面也大量使用。比如 Facebook 工程師維護了上千個 Python 專案,包括基礎設施管理、廣告 API 等。

    3.網路爬蟲

    網路爬蟲也叫網路蜘蛛,是指從網際網路採集資料的程式指令碼。對於很多資料相關公司來說,爬蟲和反爬蟲技術都是其賴以生存的重要保障。儘管很多語言都可以編寫爬蟲,但靈活的 Python 無疑也是當前的首選。基於 Python 的爬蟲框架 Scrapy 也很受歡迎。

    這個星球上最大的“爬蟲”公司 -- Google 一直力推 Python,不僅在公司內部大量使用 Python,也為開發社群做了巨大貢獻。就連 Python 之父 Guido van Rossum 也曾在 Google 工作七年。

    2005年12月,吉多·範羅蘇姆加入 Google。他用 Python 語言為 Google 寫了面向網頁的程式碼瀏覽工具。

    4.資料分析

    當透過爬蟲獲取了海量資料之後,需要對資料進行清洗、去重、儲存、展示、分析,在這方面 Python 有許多優秀的類庫:NumPyPandasMatplotlib 可以讓你的資料分析工作事半功倍。

    5.科學計算

    雖然 Matlab 在科學計算領域有著不可取代的地位,但 Python 作為一門通用的程式語言,可以帶來更廣泛的應用和更豐富的類庫。NumPy、SciPy、BioPython、SunPy 等類庫在生物資訊、地理資訊、數學、物理、化學、建築等領域發揮著重要作用。

    大名鼎鼎的 NASA早已把 Python 作為主要開發語言,NOAA也不斷藉助Python進行資料下載和分析。

    6.人工智慧

    Python 在人工智慧大範疇領域內的資料探勘、機器學習、神經網路、深度學習等方面都是主流的程式語言,得到廣泛的支援和應用。

    同時Python 的優勢在於資源豐富,擁有堅實的數值演算法、圖示和資料處理基礎設施,建立了非常良好的生態環境,吸引了大批科學家以及各領域的專家使用,從而把雪球越滾越大。

    *機器學習:Scikit-learn

    *自然語言處理:NLTK

    *深度學習:Theano、Keras、Google 的 TensorFlow、Facebook 的 PyTorch、Amazon 的 MxNet

    這些已經佔據業內主流的工具要麼是用 Python 開發,要麼也提供了 Python 版本。Python 無疑已成為 AI 領域的必修語言。

    7.膠水語言

    Python 簡潔、靈活、通用,幾乎可以在各種場景與各種平臺、裝置、語言進行連線,因此被稱為膠水語言。有人把它比作小巧而又多功能的瑞士軍刀。除了上面提到的,在其他領域也常常見到 Python 的身影:

    *金融:大量金融分析和量化交易工具使用 Python 作為的開發指令碼語言

    *遊戲:一些引擎使用 Python 作為開發指令碼,比較有名的遊戲有《文明》系列、網易的《陰陽師》

    *桌面應用:雖然不算主流,但 PyQT、wxPython、Tkinter 等 GUI 庫也足以應付一般的桌面程式

    最後,在各家公司裡,Python 還常被用來做快速原型開發,以便更快驗證產品概念。而眾多極客也把 Python 作為實現自己天馬行空想法的神兵利器。

    有著如此廣泛的應用,再加上簡單易懂的語法,使得 Python 成為一門既適合初學,又值得深入的語言。即使不是程式設計師,能用 Python 寫上一小段程式,呼叫幾個介面,也能極大提升工作效率。

    末尾,引用C++大牛Bruce Eckel的一句話

    Life is short, you need Python

  • 5 # Python金融量化

    Python是一門程式語言,應用非常廣泛,我用來做金融資料分析,量化投資。

    探討問題與分析思路

    本文以Python為量化工具,主要探討以下三個問題:

    (1)指數定投的優勢與劣勢在哪?

    (2)指數定投受哪些因素影響,是不是時間越長越好?

    (3)指數定投策略如何最佳化?

    程式設計軟體:基於Python3.7的Jupyter Notebook,使用到的庫包括numpy、pandas、matplotlib、pyecharts和tushare等。

    01

    國內指數價格走勢

    首先,對A股幾個常用的指數歷史走勢進行視覺化分析,直觀反映不同期間股價漲跌情況,其次,計算各期間股指的累計收益率,為後面的指數定投對比分析做鋪墊。

    各指數自上市交易以來累計收益率情況:區間拉長,各有千秋。

    牛市區間累計收益率情況:"2013-01-01":"2015-06-12":牛市來了,創業板身板輕,飛得更高(摔下來也疼)。

    倒V形區間收益率情況:"2011-01-01":"2018-12-24":辛辛苦苦八九年,最後回到解放前。

    2018年以來累計收益率:"2018-01-01":"2018-12-24"。怎一個“慘”字了得,中小板跌到媽都不認得。

    各指數自上市以來累計收益率和年化平均收益率:上證綜指自1990年12月以來累計收益率達到322.98%,但是幾何年平均收益率也只有5.29%,低於中證500、滬深300和中小板指。

    02 指數定投策略

    指數定投策略:即每月於固定日期使用固定金額投資指數基金。如將每月月初發的工資3000元用於投資指數基金。

    下面運用Python定義指數定投的回測函式,假定無風險理財產品收益率為4%(假設而已),每月月初(或者月末)定投3000元購買指數基金,計算各期間累計收益率和累計定投資金。先來看第一個問題,指數定投在什麼情況下優於一次性投資以及無風險理財(銀行定期存款)呢?

    微笑曲線(V或W形態):不難理解,指數定投的優勢在於規避擇時,不怕踩坑,透過長期定額投資分攤成本,當股指呈微笑形走勢的時候,一定是優於一次性投資的,但是否能獲得較高回報,還得看右側回升的幅度大小。如選取區間2007年10月17日至2015年6月12日,該期間是股指自1990年以來的歷史高點6124點開始下跌,然後反彈至5178點,即假設你運氣碰巧那麼差,在最高點當接盤俠,然後每個月繼續傻乎乎的補倉,然後終於運氣來了,在2015年高點全部清倉。如下圖所示,如果你在高點一次性買入然後長期持有,期間累計收益率是-16.48%,而定投的累計收益率卻高達101.03%(每月月初投入),無風險理財的期間累計收益率也只有16.28%。

    小微曲線:上圖選擇的“微笑曲線”很優美,剛好是股指兩頭高(右側高才是關鍵),中間低,因此透過每月定投不斷分攤長期成本,獲得超額收益率。那如果右側不是很高呢?再來看另一個區間,2007年10月17日(6124高點)至2009年07月20日(3333低點),如下圖所示,區間累計收益率為-62.31%(佛性),理財累計收益率3.62%,每月月初定投的累計收益率仍然有15.64%(每月月底定投是17.96%,其實統計分析二者並無顯著差異)。可見,一次性買入長期持有策略對擇時的要求非常高,一旦踩了坑(高點接盤),將很難翻身,而長期定投策略則規避了擇時的困擾,在股指短期波動向下,中長期向上反彈的走勢中優勢凸顯。

    難過曲線(倒V或M形態):有微笑曲線,當然也有難過曲線。正所謂,有陰必有陽,有漲必有跌,有得必有失。什麼情況下定投指數策略處於劣勢呢?將回測區間拉長,考察指數從低點-高點-低點、經歷兩次大的牛熊轉換時,指數定投策略的累計收益率情況。如下圖所示,選取區間2006年10月01日(2000多點)至2018年12月24日(2000多點),相當於經過了12年多,股指差不多又回到起點。一次性買入期間累計收益率為36.6%,理財定投累計收益率為27.63%,但是指數定投累計收益率卻為-7.39%(-7.46%),可見,指數定投並非時間越長越好,也並非一直比一次性買入持有策略好。

    單邊牛市:即起點為最低點,終點為最高點。選取區間2014年07月1日至2015年06月12日進行回測。如下圖所示,一次性投入並持有的策略明顯優於定投策略。透過上述分析,不難發現,一次性買入並持有策略對擇時要求非常高,即同時在買點和賣點精準把握才能獲取超額收益率,而定投指數策略對買點並無要求,但要求賣點出現在右側才能獲取超額收益。換句話說,指數定投並非毫無目的的一直做長期定額投資,而是要結合一些擇時指標判斷拐點進行“止盈”,才能獲取較高的累計收益率。

    03

    其他指數情況

    股票指數是反映股票市場總的價格水平變化的指標。一般是選取有代表性的一組股票,採取價格加權平均計算得到。各種指數具體的股票選取和計算方法是不同的,只看單一股票指數可能難以反映總體情況。下面對照分析上證指數、深證指數、滬深300、上證50、中小板和創業板指數,由於創業板是2010年才推出,因此下面的分析主要考察2011年-2018年區間。

    單邊牛市:考察期間2014年07月01日至2015年06月12日,創業板定投累計收益率最高,達到124.3%,並且定投累計收益率居然高於一次性投入的累計收益率;而上證50定投累計收益率最低,只有63.22%。

    倒V形(右側高於左側):考察區間2011年08月01日至2016年12月24日,創業板累計收益率仍然是最高的,除了創業板外,指數定投策略的收益率均高於一次性投入持有策略。

    難過曲線:考察期間2011年08月01日至2018年12月24日,該區間內,上證綜指、深證成指、中證500和中小板指累計收益率均出現了負數,但定投策略虧損較少,其他幾個指數仍有正的收益率,除創業板外,指數定投策略仍然優於一次性投入持有策略。

    單邊下行:考察期間2015年06月12日至2018年12月24日,毫無疑問,單邊下行的時候,定投不斷分攤了長期成本,累計虧損率要低於一次性投入。此外,單邊下行的時候,期間內創業板累計跌幅是最大的,正所謂風水輪流轉,山水有相逢。

    2018年情況:2018年國內外形勢雲詭波譎,內外夾擊,經濟持續下行,股票市場首當其衝,各大指數均出現了大幅下跌,股民怨聲載道。年初至今,中小板累計虧損高達45.12%(定投:-24.66%)。可見,起風的時候,身子輕的豬可以飛得更高,但摔下來的時候也更慘!

    透過上述分析,不難看出指數定投的優勢與劣勢,以及什麼條件下可以獲得較好的累計收益率。巴菲特建議個人投資者最好的投資方式是指數定投,尤其是對於收入來源於每月固定薪酬的普通散戶。為什麼倡導指數定投?其實背後的邏輯是很清晰的,即股市受當前受各方因素疊加影響,短期波動較大,形勢不明朗,但是對股市長期走勢抱有很大希望,這時候做指數定投將是一個不錯的投資策略,儘管短期內可能承受較大的虧損壓力。最後引用基金觀察網上的一張圖片進行總結:“長期國運向好,中期估值合理,短期情緒恐慌,所以此時不定投,啥時再定投?”

    05 結語

    本文使用Python對A股幾個常見的指數歷史行情進行了視覺化分析,透過構建指數定投策略函式,對不同區間指數定投策略進行了歷史回測,全面展示了指數定投策略的優劣勢、適用性與侷限性。華爾街曾流傳著一句話:“要在市場中準確地踩點入市,比在空中接住一把飛刀更難。”可見擇時是非常困難的,指數定投則規避了這一選擇,透過採取分批買入法,克服了只選擇一個時點進行買進和賣出的缺陷,不斷分攤和均衡長期成本,因此指數定投在中長期看好、短期波動較大的行情中優勢明顯。股票市場短期內是噪音交易佔主導,無論你使用的量化技術多麼複雜高深,可以戰勝市場的唯一方式依然是獲取機率優勢。大道至簡,只有簡單的策略,才能在長期投資中保持高度的穩定機率優勢。

  • 6 # 小小猿愛嘻嘻

    下載影片唄,Python提供了2個免費而又非常實用的網頁影片下載工具,分別是you-get和youtube-dl,無需編碼就可以輕鬆下載包括B站、優酷在內的主流影片網站的影片,下面我簡單介紹一下這2個工具的安裝和使用,感興趣的朋友可以嘗試一下:

    you-get

    1.首先,安裝you-get,這個直接在命令列視窗輸入命令“pip install you-get”就行,如下,安裝包也就215K,安裝非常迅速:

    2.安裝完成後,我們就可以直接在命令列下下載影片了,基本使用方法—“you-get+影片網頁地址”即可,如下,這裡以下載B站影片為例,速度還是非常不錯的:

    3.當然,這裡你也可以先檢視網站提供的影片格式(包括高畫質、超清等),然後再選擇需要下載的格式,只需要在you-get命令後面新增一個引數i就行,如下,這裡以優酷上的影片為例,已經列出了所有可供下載的格式:

    4.更多功能,包括批次下載影片、本地線上播放等,可以參考官方的幫助文件,直接輸入命令“you-get -h”就行,每個引數及其功能都解釋的非常清楚,一目瞭然:

    youtube-dl

    1.首先,安裝youtube-dl,這個也直接在命令列視窗輸入命令“pip install youtube-dl”就行,如下,安裝包大概1.8M左右,安裝也非常迅速:

    2.安裝完成後,我們就可以直接使用命令列下載影片了,基本使用方式和you-get一樣,輸入“youtube-dl+影片地址”即可,如下:

    3.至於批次下載的話,需要先將所有影片的網頁地址複製到一個文字檔案中,然後在命令後新增一個引數a匯入檔案,便可批次開始下載,效果如下:

    4.更多功能的話,可以參考幫助命令“youtube-dl -h”,實用引數非常多,包括網路配置、下載設定等,官方解釋的非常詳細,清清楚楚:

    至此,我們就完成了you-get和youtube-dl這2個免費Python影片下載工具的安裝和使用。總的來說,這2個工具都非常不錯,使用起來也非常簡單,只要你熟悉一下官方文件,很快就能掌握的,當然,Python的應該非常廣泛,不僅僅侷限於這些,像機器學習、資料處理、網路爬蟲等,都有涉及,網上也有相關教程和資料,解釋的非常詳細,感興趣的話,可以搜一下,希望以上分享的內容能對你有所幫助吧,也歡迎大家評論、留言進行補充。

  • 中秋節和大豐收的關聯?
  • 假如波音737max飛機升級軟體後復飛,你還會坐嗎?