日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
官方調(diào)研重磅發(fā)布,Pandas或?qū)⒅貥?gòu)?

[[280078]]

創(chuàng)新互聯(lián)建站是少有的網(wǎng)站建設(shè)、網(wǎng)站制作、營(yíng)銷型企業(yè)網(wǎng)站、微信小程序開(kāi)發(fā)、手機(jī)APP,開(kāi)發(fā)、制作、設(shè)計(jì)、賣鏈接、推廣優(yōu)化一站式服務(wù)網(wǎng)絡(luò)公司,2013年開(kāi)創(chuàng)至今,堅(jiān)持透明化,價(jià)格低,無(wú)套路經(jīng)營(yíng)理念。讓網(wǎng)頁(yè)驚喜每一位訪客多年來(lái)深受用戶好評(píng)

為指引 Pandas 未來(lái)開(kāi)發(fā)方向,Pandas 官方團(tuán)隊(duì)于 2019 年夏搞了一次調(diào)研,這次調(diào)研歷時(shí) 15 天,共有 1250 條反饋數(shù)據(jù)。問(wèn)卷數(shù)據(jù)保存在 data 文件夾的 2019.csv.zip 文件里。

這里又學(xué)一招,原來(lái) pandas 可以直接從壓縮文件里讀取數(shù)據(jù)文件,原文用的是 .gz 文件,呆鳥(niǎo)這里用 .zip 也可以。

下列代碼讀取問(wèn)卷數(shù)據(jù),并對(duì) matplotlib、seaborn 的字體進(jìn)行設(shè)置,其中還包括了,如何在 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. # 用來(lái)正常顯示負(fù)號(hào),這里其實(shí)用不上  
  14. plt.rcParams['axes.unicode_minus'] = False  
  15. df = pd.read_csv("data/2019.csv.zip", parse_dates=['日期時(shí)間'], encoding="GBK")  
  16. # df.head() 

答卷人分析

絕大多數(shù)答卷人都具有豐富的 pandas 使用經(jīng)驗(yàn),使用頻率也很高。 

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

 

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

為了對(duì)比 Pandas 與 Python 的流行度,我們的問(wèn)卷里提出了一些 Python 開(kāi)發(fā)者調(diào)研問(wèn)卷問(wèn)過(guò)的問(wèn)題。

90% 的答卷人把 Python 作為主開(kāi)發(fā)語(yǔ)言,Python 軟件基金會(huì)調(diào)研報(bào)告里的數(shù)據(jù)為 84%。 

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

數(shù)據(jù)顯示 Windows 用戶居多。 

 
 
 
 
  1. oses = [  
  2.     "Linux",  
  3.     "Windows",  
  4.     "MacOS"  
  5. ]  
  6. df['您用哪種操作系統(tǒng)?'].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: 您用哪種操作系統(tǒng)?, dtype: object 

這里用 0.25 版推出的 explode 方法定義了個(gè)函數(shù)。 

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

conda 是最流行的虛擬環(huán)境工具。 

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

絕大多數(shù)答卷人只用 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

開(kāi)源軟件團(tuán)隊(duì)很難了解用戶實(shí)際愛(ài)用哪些功能,這次調(diào)研,我們特地提了一些問(wèn)題,了解了大家的喜好。

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

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

為了做好重構(gòu) pandas 內(nèi)核的準(zhǔn)備,我們還調(diào)研了 100 列及以上大型 DataFrame 的處理情況。 

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

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

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

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

 
 
 
 
  1. sns.countplot(y='您現(xiàn)在最想看到的改進(jìn)是什么?',  
  2.               data=df,  
  3.               color='k').set(title="您現(xiàn)在最想看到的改進(jìn)是什么?",  
  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': '問(wèn)題', 'level_1': "重要程度", 0: "關(guān)注數(shù)量"})  
  7. )  
  8. order = ["無(wú)關(guān)緊要", "還算有用", '至關(guān)重要']  
  9. g = (  
  10.     sns.FacetGrid(counts, col="問(wèn)題", col_wrap=2,  
  11.                   aspect=1.5, sharex=False, height=3)  
  12.     .map(sns.barplot, "重要程度", "關(guān)注數(shù)量", orderorder=order)  

一眼就能看出來(lái),優(yōu)化大規(guī)模數(shù)據(jù)集的處理能力是大家最想要的,從此圖還能觀測(cè)出:

  1.  Pandas 文檔應(yīng)該加大力度推廣處理大規(guī)模數(shù)據(jù)集的支持庫(kù),如 Dask, vaex、 modin。
  2.  從對(duì)原生字符串?dāng)?shù)據(jù)類型與更少的內(nèi)部復(fù)制需求來(lái)看,優(yōu)化內(nèi)存效率也是要值得一做的事情。

緊接其后的優(yōu)化需求是整數(shù)缺失值,這個(gè)功能其實(shí)已經(jīng)在 Pandas 0.24 時(shí)已經(jīng)推出了,但還不是默認(rèn)方式,與其它 pandas API 的兼容性也有待優(yōu)化。

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

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

不少人,甚至 pandas 維護(hù)人員都覺(jué)得 pandas API 的規(guī)模太大了。為了量化這個(gè)問(wèn)題,我們還向用戶提出了關(guān)于 pandas API 規(guī)模的問(wèn)題,看看大家覺(jué)得是太大,還是太小,還是剛剛好。 

 
 
 
 
  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(); 

最后,我們還提出了滿意度的問(wèn)題,從 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(); 

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

 


文章標(biāo)題:官方調(diào)研重磅發(fā)布,Pandas或?qū)⒅貥?gòu)?
當(dāng)前URL:http://m.5511xx.com/article/cdhoeii.html