# The usual preamble %matplotlib inline import pandas as pd import matplotlib.pyplot as plt import numpy as np # Make the graphs a bit prettier, and bigger pd.set_option('display.mpl_style', 'default') plt.rcParams['figure.figsize'] = (15, 5) # This is necessary to show lots of columns in pandas 0.12. # Not necessary in pandas 0.13. pd.set_option('display.width', 5000) pd.set_option('display.max_columns', 60) complaints = pd.read_csv('../data/311-service-requests.csv') complaints[:5] noise_complaints = complaints[complaints['Complaint Type'] == "Noise - Street/Sidewalk"] noise_complaints[:3] complaints['Complaint Type'] == "Noise - Street/Sidewalk" is_noise = complaints['Complaint Type'] == "Noise - Street/Sidewalk" in_brooklyn = complaints['Borough'] == "BROOKLYN" complaints[is_noise & in_brooklyn][:5] complaints[is_noise & in_brooklyn][['Complaint Type', 'Borough', 'Created Date', 'Descriptor']][:10] pd.Series([1,2,3]) np.array([1,2,3]) pd.Series([1,2,3]).values arr = np.array([1,2,3]) arr != 2 arr[arr != 2] is_noise = complaints['Complaint Type'] == "Noise - Street/Sidewalk" noise_complaints = complaints[is_noise] noise_complaints['Borough'].value_counts() noise_complaint_counts = noise_complaints['Borough'].value_counts() complaint_counts = complaints['Borough'].value_counts() noise_complaint_counts / complaint_counts noise_complaint_counts / complaint_counts.astype(float) (noise_complaint_counts / complaint_counts.astype(float)).plot(kind='bar')