成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

官方調研重磅發布,Pandas或將重構?

大數據 數據分析 后端
為指引 Pandas 未來開發方向,Pandas 官方團隊于 2019 年夏搞了一次調研,這次調研歷時 15 天,共有 1250 條反饋數據。問卷數據保存在 data 文件夾的 2019.csv.zip 文件里。

[[280078]]

為指引 Pandas 未來開發方向,Pandas 官方團隊于 2019 年夏搞了一次調研,這次調研歷時 15 天,共有 1250 條反饋數據。問卷數據保存在 data 文件夾的 2019.csv.zip 文件里。

這里又學一招,原來 pandas 可以直接從壓縮文件里讀取數據文件,原文用的是 .gz 文件,呆鳥這里用 .zip 也可以。

下列代碼讀取問卷數據,并對 matplotlib、seaborn 的字體進行設置,其中還包括了,如何在 macOS 里顯示中文。 

  1. import pandas as pd  
  2. import seaborn as sns  
  3. import matplotlib.pyplot as plt  
  4. %matplotlib inline  
  5. plt.rcParams['figure.dpi'] = 150  
  6. # 讓 matplotlib 支持中文  
  7. plt.rcParams['font.sans-serif'] = ['SimHei']  
  8. # 讓 seaborn 的文字大一些  
  9. sns.set( font='SimHei'font_scale=1.2)  
  10. # # 讓 MacOS 下的 Matplotlib 與 Seaborn 支持中文  
  11. # plt.rcParams['font.family'] = ['Arial Unicode MS']  
  12. # sns.set_style('whitegrid',{'font.sans-serif':['Arial Unicode MS','Arial']})  
  13. # 用來正常顯示負號,這里其實用不上  
  14. plt.rcParams['axes.unicode_minus'] = False  
  15. df = pd.read_csv("data/2019.csv.zip", parse_dates=['日期時間'], encoding="GBK" 
  16. # df.head() 

答卷人分析

絕大多數答卷人都具有豐富的 pandas 使用經驗,使用頻率也很高。 

  1. order = [  
  2.     '少于 3 個月',  
  3.     '3 個月 至 1 年',  
  4.     '1 至 2 年',  
  5.     '3 至 5 年',  
  6.     '5 年以上',  
  7.  
  8. sns.countplot(y='您用 pandas 多久了?' 
  9.               data=dforderorder=order, 
  10.               color='k').set(title="您用 pandas 多久了?" 
  11.                              ylabel="" 
  12. sns.despine() 

 

  1. order = [  
  2.     "剛開始用",  
  3.     "偶爾",  
  4.     "每周",  
  5.     "每天"  
  6.  
  7. sns.countplot(y='pandas 使用頻率'data=dforderorder=order,  
  8.               color='k').set(title="pandas 使用頻率" 
  9.                              ylabel="" 
  10. sns.despine() 

為了對比 Pandas 與 Python 的流行度,我們的問卷里提出了一些 Python 開發者調研問卷問過的問題。

90% 的答卷人把 Python 作為主開發語言,Python 軟件基金會調研報告里的數據為 84%。 

  1. pct_format = "{:0.2%}".format  
  2. df['Python 是您的主打語言嗎?'].str.replace(  
  3.     "否.*", "否").value_counts(normalize=True).apply(pct_format)  
  1. 是    90.67%  
  2. 否     9.33%  
  3. Name: Python 是您的主打語言嗎?, dtype: object 

數據顯示 Windows 用戶居多。 

  1. oses = [  
  2.     "Linux",  
  3.     "Windows",  
  4.     "MacOS"  
  5.  
  6. df['您用哪種操作系統?'].str.split(';').explode().value_counts().div(  
  7.     len(df)).loc[oses].apply(pct_format)  
  1. Linux      61.57%  
  2. Windows    60.21%  
  3. MacOS      42.75%  
  4. Name: 您用哪種操作系統?, dtype: object 

這里用 0.25 版推出的 explode 方法定義了個函數。 

  1. def split_and_explode(s):  
  2.     return s.str.split(";").explode().to_frame() 

conda 是最流行的虛擬環境工具。 

  1. replace = {  
  2.     "否,我不用虛擬環境": "否"  
  3.  
  4. col = '您是否用過下列 Python 虛擬環境工具?(多選)'  
  5. sns.countplot(y=col 
  6.               data=split_and_explode(df[col]).replace(replace),  
  7.               color='k').set(title='您是否用過下列 Python 虛擬環境工具?' 
  8.                              ylabel="" 
  9. sns.despine() 

絕大多數答卷人只用 Python 3。 

  1. df['Python 2 還是 3?'].value_counts(normalize=True).rename(  
  2.     index={"2;3": "2 & 3"}).apply(pct_format)  
  1. 3        92.39%  
  2. 2 & 3     6.80%  
  3. 2         0.81%  
  4. Name: Python 2 還是 3?, dtype: object 

Pandas API

開源軟件團隊很難了解用戶實際愛用哪些功能,這次調研,我們特地提了一些問題,了解了大家的喜好。

CSV 與 Excel 是最流行的文件類型,真是讓人喜憂參半。 

  1. sns.countplot(y='您常用哪個讀寫器讀取數據?' 
  2.               data=df['您常用哪個讀寫器讀取數據?'].str.split(';').explode().to_frame(),  
  3.               color='k').set(title="您常用哪個讀寫器讀取數據?" 
  4.                              ylabel="" 
  5. sns.despine(); 

為了做好重構 pandas 內核的準備,我們還調研了 100 列及以上大型 DataFrame 的處理情況。 

  1. sns.countplot(y='處理 100 列及以上大型 DataFrame 的頻率' 
  2.               data=dfcolor='k').set(title="處理大型 DataFrame 的頻率" 
  3.                                       ylabel="");  
  4. sns.despine() 

Pandas 增加新擴展類型的速度較慢。類別型(Categorical)是最常用的,此外,可空整數(Nullable Integer)與帶時區的 Datetime 也很常用。 

  1. sns.countplot(y='您常用的擴展數據類型是什么?' 
  2.               data=split_and_explode(df['您常用的擴展數據類型是什么?']),  
  3.               color='k').set(title="您常用的擴展數據類型是什么?" 
  4.                              ylabel="" 
  5. sns.despine(); 

我們還提出了一些問題,用以了解用戶最想要的功能。 

  1. sns.countplot(y='您現在最想看到的改進是什么?' 
  2.               data=df 
  3.               color='k').set(title="您現在最想看到的改進是什么?" 
  4.                              ylabel="" 
  5. sns.despine() 

 

  1. common = (df[df.columns[df.columns.str.startswith("迫切想要的功能")]]  
  2.           .rename(columns=lambda x: x.lstrip("迫切想要的功能  [").rstrip(r"]")))  
  3. counts = (  
  4.     common.apply(pd.value_counts)  
  5.     .T.stack().reset_index()  
  6.     .rename(columns={'level_0': '問題', 'level_1': "重要程度", 0: "關注數量"})  
  7.  
  8. order = ["無關緊要", "還算有用", '至關重要']  
  9. g = (  
  10.     sns.FacetGrid(counts, col="問題"col_wrap=2 
  11.                   aspect=1.5, sharex=Falseheight=3 
  12.     .map(sns.barplot, "重要程度", "關注數量", orderorder=order)  

一眼就能看出來,優化大規模數據集的處理能力是大家最想要的,從此圖還能觀測出:

  1.  Pandas 文檔應該加大力度推廣處理大規模數據集的支持庫,如 Dask, vaex、 modin。
  2.  從對原生字符串數據類型與更少的內部復制需求來看,優化內存效率也是要值得一做的事情。

緊接其后的優化需求是整數缺失值,這個功能其實已經在 Pandas 0.24 時已經推出了,但還不是默認方式,與其它 pandas API 的兼容性也有待優化。

與 NumPy 相比,pandas 略顯激進。在即將推出 1.0 版里,我們將廢棄很多功能,并對很多 API 進行翻天覆地的改變,好在大部分人都能接受這樣的改變。 

  1. df['Pandas 能滿足您的需求嗎'].value_counts(normalize=True).apply(pct_format)  
  1. 是    94.89%  
  2. 否     5.11%  
  3. Name: Pandas 能滿足您的需求嗎, dtype: object 

不少人,甚至 pandas 維護人員都覺得 pandas API 的規模太大了。為了量化這個問題,我們還向用戶提出了關于 pandas API 規模的問題,看看大家覺得是太大,還是太小,還是剛剛好。 

  1. renamer = {"pandas 接口太大了(難找到要用的方法或難記)還是太小了(需要提供更多功能)": "pandas 接口太大嗎?"}  
  2. sns.countplot(y="pandas 接口太大嗎?" 
  3.               data=df.rename(columns=renamer),  
  4.               color='k').set(title="pandas 接口太大嗎?" 
  5.                              ylabel="" 
  6. sns.despine(); 

最后,我們還提出了滿意度的問題,從 1 (非常不滿意)至 5 (非常滿意)。 

  1. sns.countplot(y='Pandas 滿意度' 
  2.               data=df[['Pandas 滿意度']].dropna().astype(int),  
  3.               color='k').set(title="Pandas 滿意度" 
  4.                              ylabel="" 
  5. sns.despine(); 

大多數人都對 pandas 非常滿意。滿意度的平均分為 4.39。我們希望以后能跟蹤這一數據的變化。 

 

責任編輯:龐桂玉 來源: segmentfault
相關推薦

2012-08-02 17:24:07

KB360018補丁360

2022-08-10 18:50:34

數字化

2020-03-02 17:19:22

戴爾

2023-06-08 07:12:13

OpenAIGPT代碼

2013-05-22 10:30:57

SDN軟件定義網絡網絡架構

2023-02-01 13:15:41

2021-06-02 09:36:25

華為MatePad Pro鴻蒙系統

2023-01-06 16:54:36

Fedora 38BudgieSway

2013-01-08 09:46:12

暴雪Linux游戲

2013-06-03 17:07:08

思科調研報告VNI報告思科

2024-04-19 09:29:48

九章云極智算中心操作系統

2013-04-15 16:35:28

Windows 8.2Windows 9

2012-09-21 10:30:58

谷歌iOS 6Google云地圖

2011-09-09 11:12:59

IBMCIO

2023-08-10 08:44:05

GNOME桌面窗口

2020-11-02 11:34:07

天翼云AI

2020-07-30 09:29:19

網絡安全漏洞技術

2013-06-26 09:53:29

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 不卡av在线 | 国产精品美女久久久 | 国产91丝袜在线播放 | 精品综合久久久 | 日本视频在线 | 草草草影院 | 精品欧美一区二区久久久伦 | 亚洲午夜视频在线观看 | 日韩一区二区三区av | 日韩电影免费观看中文字幕 | 五月激情六月婷婷 | 国产激情第一页 | 精品国产一区二区三区性色 | 五月婷婷 六月丁香 | 黄色成人免费在线观看 | www.日韩系列 | 亚洲入口 | 欧美精品被 | 国产精品无 | 久久精品国产一区二区电影 | 另类二区 | 欧美一级免费看 | 久久久99国产精品免费 | 国产综合视频 | 在线观看视频一区二区三区 | 亚洲国产一区二区三区 | 国产成人亚洲精品 | 日本一本在线 | 亚洲精品在线观 | 亚洲网站在线观看 | 久久激情五月丁香伊人 | 国产精品九九视频 | 亚洲欧美日韩激情 | 一区二区免费视频 | 伊人狠狠干 | 黄色片a级| 国产高清视频一区 | 韩国av电影网 | av电影一区二区 | 国产精品18毛片一区二区 | 国产精品区二区三区日本 |