"""Create the data for the Software Carpentry Intermediate Python lectures"""

import numpy as np
import pandas as pd

np.random.seed(26)
years = np.arange(1960, 2011)
temps = np.random.uniform(70, 90, len(years))
rainfalls = np.random.uniform(100, 300, len(years))
noise = 2 * np.random.randn(len(years))
mosquitos = 0.5 * temps + 0.7 * rainfalls + noise

data = zip(years, temps, rainfalls, mosquitos)
df = pd.DataFrame(data, columns=['year', 'temperature', 'rainfall','mosquitos'])
df.to_csv('mosquito_data_A2.csv', index=False, float_format='%.0f')
df_short = df[-10:]
df_short.to_csv('mosquito_data_A1.csv', index=False, float_format='%.0f')

"""Create the data for the Software Carpentry Intermediate Python lectures"""

import numpy as np
import pandas as pd

np.random.seed(26)
datasets = {'A1': [0, 0.5, 0.7, 10],
            'A2': [0, 0.5, 0.7, 50],
            'A3': [0, 0.5, 0.3, 50],
            'B1': [3, 0.7, 0.2, 50],
            'B2': [3, 0.7, 0.7, 50]}

def make_data(intercept, tempslope, rainfallslope, numyears):
    years = np.arange(2010 - numyears, 2011)
    temps = np.random.uniform(70, 90, len(years))
    rainfalls = np.random.uniform(100, 300, len(years))
    noise = 2 * np.random.randn(len(years))
    mosquitos = intercept + tempslope * temps + rainfallslope * rainfalls + noise
    return zip(years, temps, rainfalls, mosquitos)

def export_data(data, filename):
    df = pd.DataFrame(data, columns=['year', 'temperature', 'rainfall','mosquitos'])
    df.to_csv(filename, index=False, float_format='%.0f')

for site in datasets:
    data = make_data(*datasets[site])
    if site == 'A1':
        #create a shorter dataset for first example
        data = data[-10:]
    export_data(data, '%s_mosquito_data.csv' % site)

Allow creation of multiple example data files for Inter Python
Allow creation of multiple example data files for Inter Python

Generalizes the script for creating data files to allow for the
easy generation of larger numbers of data files.

  """Create the data for the Software Carpentry Intermediate Python lectures"""
  
  import numpy as np
  import pandas as pd
  
  np.random.seed(26)
- years = np.arange(1960, 2011)
- temps = np.random.uniform(70, 90, len(years))
- rainfalls = np.random.uniform(100, 300, len(years))
- noise = 2 * np.random.randn(len(years))
- mosquitos = 0.5 * temps + 0.7 * rainfalls + noise
+ datasets = {'A1': [0, 0.5, 0.7, 10],
+             'A2': [0, 0.5, 0.7, 50],
+             'A3': [0, 0.5, 0.3, 50],
+             'B1': [3, 0.7, 0.2, 50],
+             'B2': [3, 0.7, 0.7, 50]}
  
+ def make_data(intercept, tempslope, rainfallslope, numyears):
+     years = np.arange(2010 - numyears, 2011)
+     temps = np.random.uniform(70, 90, len(years))
+     rainfalls = np.random.uniform(100, 300, len(years))
+     noise = 2 * np.random.randn(len(years))
+     mosquitos = intercept + tempslope * temps + rainfallslope * rainfalls + noise
- data = zip(years, temps, rainfalls, mosquitos)
+     return zip(years, temps, rainfalls, mosquitos)
- df = pd.DataFrame(data, columns=['year', 'temperature', 'rainfall','mosquitos'])
- df.to_csv('mosquito_data_A2.csv', index=False, float_format='%.0f')
- df_short = df[-10:]
- df_short.to_csv('mosquito_data_A1.csv', index=False, float_format='%.0f')
  
+ def export_data(data, filename):
+     df = pd.DataFrame(data, columns=['year', 'temperature', 'rainfall','mosquitos'])
+     df.to_csv(filename, index=False, float_format='%.0f')
+ 
+ for site in datasets:
+     data = make_data(*datasets[site])
+     if site == 'A1':
+         #create a shorter dataset for first example
+         data = data[-10:]
+     export_data(data, '%s_mosquito_data.csv' % site)
+ 
Allow creation of multiple example data files for Inter Python
## Code Before:
"""Create the data for the Software Carpentry Intermediate Python lectures"""

import numpy as np
import pandas as pd

np.random.seed(26)
years = np.arange(1960, 2011)
temps = np.random.uniform(70, 90, len(years))
rainfalls = np.random.uniform(100, 300, len(years))
noise = 2 * np.random.randn(len(years))
mosquitos = 0.5 * temps + 0.7 * rainfalls + noise

data = zip(years, temps, rainfalls, mosquitos)
df = pd.DataFrame(data, columns=['year', 'temperature', 'rainfall','mosquitos'])
df.to_csv('mosquito_data_A2.csv', index=False, float_format='%.0f')
df_short = df[-10:]
df_short.to_csv('mosquito_data_A1.csv', index=False, float_format='%.0f')

## Instruction:
Allow creation of multiple example data files for Inter Python
## Code After:
"""Create the data for the Software Carpentry Intermediate Python lectures"""

import numpy as np
import pandas as pd

np.random.seed(26)
datasets = {'A1': [0, 0.5, 0.7, 10],
            'A2': [0, 0.5, 0.7, 50],
            'A3': [0, 0.5, 0.3, 50],
            'B1': [3, 0.7, 0.2, 50],
            'B2': [3, 0.7, 0.7, 50]}

def make_data(intercept, tempslope, rainfallslope, numyears):
    years = np.arange(2010 - numyears, 2011)
    temps = np.random.uniform(70, 90, len(years))
    rainfalls = np.random.uniform(100, 300, len(years))
    noise = 2 * np.random.randn(len(years))
    mosquitos = intercept + tempslope * temps + rainfallslope * rainfalls + noise
    return zip(years, temps, rainfalls, mosquitos)

def export_data(data, filename):
    df = pd.DataFrame(data, columns=['year', 'temperature', 'rainfall','mosquitos'])
    df.to_csv(filename, index=False, float_format='%.0f')

for site in datasets:
    data = make_data(*datasets[site])
    if site == 'A1':
        #create a shorter dataset for first example
        data = data[-10:]
    export_data(data, '%s_mosquito_data.csv' % site)
