python动态排名可视化_动态排名可视化 | 带你领略编程语言20年风云变化
原標題:動態排名可視化 | 帶你領略編程語言20年風云變化
作者 | 周蘿卜
來源 | 蘿卜大雜燴
2019已經過去,回看編程語言20年真是風云變化!
從 TIOBE 榜(熱門榜)上來看,Java、C 和 Python 基本鎖定了前三的位置,Java 江湖老大的地位,目前還是無人能撼動呢。
下面先來一張 TIOBE 網站的走勢圖,鎮樓(這是個暴露年齡的詞語)!
編程語言霸榜 動態排名
數據可視化
數據獲取
數據獲取的部分,與上一篇 DB 篇很類似,都是解析 Java 代碼里的變量,抽出數據即可
defget_pl_data(name):
name_lower = [i.lower fori inname]
fori inname_lower:
print( "Request ", i)
ifi == 'c#':
i = 'csharp'
url = 'https://www.tiobe.com/tiobe-index/'+ i
res = requests.get(url).text
content = BeautifulSoup(res, "html.parser")
js = content.find_all( '')[ 9].string
src_text = js2xml.parse(js)
src_tree = js2xml.pretty_print(src_text)
data_tree = BeautifulSoup(src_tree, 'html.parser')
array_list = data_tree.find_all( 'array')
data_list = []
forarray inarray_list[ 3:]:
array_data = array.find_all( 'number')
data_list.append({ 'date': array_data[ 0][ 'value'] + '-'+ array_data[ 1][ 'value'] + '-'+ array_data[ 2][ 'value'],
'value': array_data[ 3][ 'value']})
save_data(i, data_list)
當然這里還是提前獲取了前50名編程語言的列表,直接通過 pandas 的 read_html 方法就可以方便的獲取
defget_pl_list:
url = 'https://www.tiobe.com/tiobe-index/'
pl_df = pd.read_html(url)
top_20 = pl_df[ 0][ 'Programming Language'].values.tolist
bottom_30 = pl_df[ 1][ 'Programming Language'].values.tolist
returntop_20 + bottom_30
最后再保存到 csv 中
withopen( 'pl_data.csv', 'a+', encoding= 'utf-8') asf:
f.write( 'name,value,daten')
ford indata:
try:
row = '{},{},{}'.format(name,
d[ 'value'],
d[ 'date'])
f.write(row)
f.write( 'n')
except:
raise
如果不出意外的話,幾分鐘的時間里,我們就能夠拿到近20年編程語言的風云數據啦!
整體排名
我們先來看看2019年,各大編程語言的總體排名,其實從上面鎮樓曲線圖中也是可以看出來的,但是不是特別的直觀,我們轉換成柱狀圖來看看
可以看出雖然這一年里 Python 大紅大紫,但是根據 TIOBE 的統計來看,其搜索占有率還是遠遠低于 Java 和 C 的,不過其第三名的位置還是比較穩固的!
而 Java 和 C,這兩位語言界的大佬,已經相愛相殺了多年了,直到如今也沒有完全分出高低。
由谷歌力挺的 Go 語言,似乎有些放緩了前進的步伐,第15位,不太符合其天之驕子的身份呢。
而對于世界第一語言 PHP 來說,在這個微服務興起,前后端分離盛行的時代,活著就是最好的!
五大語言指數
下面我們來分別看一看榜單的前五大語言的排名走勢情況
Java 的2019
2019 年的 Java,有一種穩中取勝的感覺,作為生態最為龐大的語言,其強大的造新能力確保了江湖地位,要說企業里后端的第一語言,絕對非 Java 莫屬!
C 的2019
2019 年的 C,還是有著不錯的增長的,雖然在年末的兩個月表現不佳,但是這也足以確保第二的位置了,相信這門“古老”的語言在未來仍然是不可忽視的力量!
Python 的2019
隨著2018年人工智能的興起,Python 已經大火了一把,而進入2019年,這種勢頭仍然沒有減弱,憑借著簡潔易懂學習曲線平滑等特點,Python 成為了更多人的首選語言。
C++ 的2019
C ++ 這一年的表現似乎不是太好,當然在嵌入式領域,它還是老大。同時作為 C 語言的超集,前途無限光明。
C# 的2019
C# 在這一年有著非常不錯的增長,隱隱有超越 C++ 的趨勢,估計這還是和微軟逐漸擁抱開源息息相關吧,畢竟現在的微軟已經是 GitHub 上的第一大開源組織了!
6-10名走勢曲線
接下來我們看下榜單上6-10名編程語言的全年走勢情況
可以看出,除了 .Net 語言下滑的較為明顯之外,其他的語言包括 PHP、SQL、Swift 和 JS 等都變化不大,相互之間的位置也沒有太大變化,大家相安無事!
11-20名走勢曲線
首先是11-15名的曲線走勢
在這份榜單中,各個語言的變化就比較大了,比如說 Objective-C 最高時能達到1.8%,如果保持住的話,都可以擠進前十了。而業界一致看好的 Go 語言呢,最高也有1.4%多,只不過在幾經起落之后,最終定格在0.9%,不禁令人唏噓!
再來看看16-20名的曲線走勢
五大語言占比
最后,我們來看看榜首的五大語言占比情況吧
從圖中不難看出,榜首的五大語言,基本占去了搜索比重的一半以上,如果再加上 .Net 和 Java 兩大語言,基本上程序猿的世界里,就是它們了。
當然了,語言火是一回事,薪資高不高又是另一回事了,簡單的抓取了拉勾上每個語言前三頁崗位的薪資情況,大家來體會下
項目源碼:https://github.com/zhouwei713/data_analysis/tree/master/Annual_Ceremony/Programming_language
動態排名數據可視化庫:
https://github.com/Jannchie/Historical-ranking-data-visualization-based-on-d3.js
最新考研調劑信息全面獲取!Python幫你一手掌握
宅家秀廚藝大翻車 | 眼睛:會了。手:不,你不會!返回搜狐,查看更多
責任編輯:
總結
以上是生活随笔為你收集整理的python动态排名可视化_动态排名可视化 | 带你领略编程语言20年风云变化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python爬虫意思_python为什么
- 下一篇: python连接linux服务器读取tx