Python 數據的累加與統計的示例代碼
問題
你需要處理一個很大的數據集并需要計算數據總和或其他統計量。
解決方案
對于任何涉及到統計、時間序列以及其他相關技術的數據分析問題,都可以考慮使用 Pandas庫 。
為了讓你先體驗下,下面是一個使用Pandas來分析芝加哥城市的 老鼠和嚙齒類動物數據庫 的例子。 在我寫這篇文章的時候,這個數據庫是一個擁有大概74,000行數據的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日對老鼠們來說是個很忙碌的日子啊!^_^
討論
Pandas是一個擁有很多特性的大型函數庫,我在這里不可能介紹完。 但是只要你需要去分析大型數據集合、對數據分組、計算各種統計量或其他類似任務的話,這個函數庫真的值得你去看一看。
以上就是Python 數據的累加與統計的方法的詳細內容,更多關于Python 數據的累加與統計的資料請關注好吧啦網其它相關文章!
相關文章:
