Python 數(shù)據(jù)的累加與統(tǒng)計(jì)的示例代碼
問(wèn)題
你需要處理一個(gè)很大的數(shù)據(jù)集并需要計(jì)算數(shù)據(jù)總和或其他統(tǒng)計(jì)量。
解決方案
對(duì)于任何涉及到統(tǒng)計(jì)、時(shí)間序列以及其他相關(guān)技術(shù)的數(shù)據(jù)分析問(wèn)題,都可以考慮使用 Pandas庫(kù) 。
為了讓你先體驗(yàn)下,下面是一個(gè)使用Pandas來(lái)分析芝加哥城市的 老鼠和嚙齒類動(dòng)物數(shù)據(jù)庫(kù) 的例子。 在我寫(xiě)這篇文章的時(shí)候,這個(gè)數(shù)據(jù)庫(kù)是一個(gè)擁有大概74,000行數(shù)據(jù)的CSV文件。
>>> import pandas>>> # Read a CSV file, skipping last line>>> rats = pandas.read_csv(’rats.csv’, skip_footer=1)>>> rats<class ’pandas.core.frame.DataFrame’>Int64Index: 74055 entries, 0 to 74054Data columns:Creation Date 74055 non-null valuesStatus 74055 non-null valuesCompletion Date 72154 non-null valuesService Request Number 74055 non-null valuesType of Service Request 74055 non-null valuesNumber of Premises Baited 65804 non-null valuesNumber of Premises with Garbage 65600 non-null valuesNumber of Premises with Rats 65752 non-null valuesCurrent Activity 66041 non-null valuesMost Recent Action 66023 non-null valuesStreet Address 74055 non-null valuesZIP Code 73584 non-null valuesX Coordinate 74043 non-null valuesY Coordinate 74043 non-null valuesWard 74044 non-null valuesPolice District 74044 non-null valuesCommunity Area 74044 non-null valuesLatitude 74043 non-null valuesLongitude 74043 non-null valuesLocation 74043 non-null valuesdtypes: float64(11), object(9)>>> # Investigate range of values for a certain field>>> rats[’Current Activity’].unique()array([nan, Dispatch Crew, Request Sanitation Inspector], dtype=object)>>> # Filter the data>>> crew_dispatched = rats[rats[’Current Activity’] == ’Dispatch Crew’]>>> len(crew_dispatched)65676>>>>>> # Find 10 most rat-infested ZIP codes in Chicago>>> crew_dispatched[’ZIP Code’].value_counts()[:10]60647 383760618 353060614 328460629 325160636 280160657 246560641 223860609 220660651 215260632 2071>>>>>> # Group by completion date>>> dates = crew_dispatched.groupby(’Completion Date’)<pandas.core.groupby.DataFrameGroupBy object at 0x10d0a2a10>>>> len(dates)472>>>>>> # Determine counts on each day>>> date_counts = dates.size()>>> date_counts[0:10]Completion Date01/03/2011 401/03/2012 12501/04/2011 5401/04/2012 3801/05/2011 7801/05/2012 10001/06/2011 10001/06/2012 5801/07/2011 101/09/2012 12>>>>>> # Sort the counts>>> date_counts.sort()>>> date_counts[-10:]Completion Date10/12/2012 31310/21/2011 31409/20/2011 31610/26/2011 31902/22/2011 32510/26/2012 33303/17/2011 33610/13/2011 37810/14/2011 39110/07/2011 457>>>
嗯,看樣子2011年10月7日對(duì)老鼠們來(lái)說(shuō)是個(gè)很忙碌的日子啊!^_^
討論
Pandas是一個(gè)擁有很多特性的大型函數(shù)庫(kù),我在這里不可能介紹完。 但是只要你需要去分析大型數(shù)據(jù)集合、對(duì)數(shù)據(jù)分組、計(jì)算各種統(tǒng)計(jì)量或其他類似任務(wù)的話,這個(gè)函數(shù)庫(kù)真的值得你去看一看。
以上就是Python 數(shù)據(jù)的累加與統(tǒng)計(jì)的方法的詳細(xì)內(nèi)容,更多關(guān)于Python 數(shù)據(jù)的累加與統(tǒng)計(jì)的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. 簡(jiǎn)述JAVA同步、異步、阻塞和非阻塞之間的區(qū)別2. 使用Python3 poplib模塊刪除服務(wù)器多天前的郵件實(shí)現(xiàn)代碼3. Python TestSuite生成測(cè)試報(bào)告過(guò)程解析4. 在JSP中使用formatNumber控制要顯示的小數(shù)位數(shù)方法5. Java8內(nèi)存模型PermGen Metaspace實(shí)例解析6. 深入了解JAVA 軟引用7. 解決AJAX返回狀態(tài)200沒(méi)有調(diào)用success的問(wèn)題8. 詳解JAVA 強(qiáng)引用9. SpringBoot集成mqtt的多模塊項(xiàng)目配置詳解10. IntelliJ IDEA設(shè)置默認(rèn)瀏覽器的方法
