2017-03-08 5 views
2

私は、犯罪の種類とその発生場所を含む外部データセットを持っており、プレシンクトで犯罪が発生する頻度を把握する必要があります。私が見つけたいのは頻度テーブルなので、特定の刑務所で犯罪が犯された頻度を計算することができます(最終的には、レイプ、強盗などの犯罪の種類ごとに円グラフを作成する必要があります) これは私ですこれまで持っている:python - CSVの行の2つの文字列の頻度を数える方法

columns=defaultdict(list) 

with open('Seattle_Crime_Stats_by_Police_Precinct_2008-Present.csv') as f: 
    reader=csv.DictReader(f) 
    for row in reader: 
     for (k,v) in row.items(): 
      columns[k].append(v) 
crimes=(columns['CRIME_TYPE']) 
precincts=(columns['Precinct']) 
number=(columns['Row_Value_ID']) 
count_crimes=Counter(crimes) 

(のpythonに新しい)私は日のために、この上で立ち往生してきた、助けてください

答えて

0

大幅に簡素化するために起こっているように私は、あなたがパンダについて読み、それを使用することを示唆していますすべてのさらなる処理。データフレームとしてCSVファイルを読み込み、グループのデータを二つの変数によって、そしてテーブルに変換します:ここで開始する方法の最後の行はcount()の代わりにsum()を使用する必要があります

import pandas as pd 
data = ps.read_csv("Seattle_Crime_Stats_by_Police_Precinct_2008-Present.csv") 
data.groupby(["Precinct","CRIME_TYPE"]).count().unstack() 

data.groupby(["Precinct","CRIME_TYPE"]).sum().unstack() 
0

あなたはvalue_countsを使用することができます()関数:

dataframe_name['column_name'].value_counts() 

これは、すべてのユニークな値のためにあなた周波数を与えるだろう、それはあなたのCSVファイルの構造が何であるかは不明です。

関連する問題