{"action":"created","issue":{"url":"https://api.github.com/repos/swcarpentry/python-novice-gapminder/issues/17","repository_url":"https://api.github.com/repos/swcarpentry/python-novice-gapminder","labels_url":"https://api.github.com/repos/swcarpentry/python-novice-gapminder/issues/17/labels{/name}","comments_url":"https://api.github.com/repos/swcarpentry/python-novice-gapminder/issues/17/comments","events_url":"https://api.github.com/repos/swcarpentry/python-novice-gapminder/issues/17/events","html_url":"https://github.com/swcarpentry/python-novice-gapminder/issues/17","id":132707181,"number":17,"title":"introduce numpy in the lesson","user":{"login":"btel","id":41565,"avatar_url":"https://avatars.githubusercontent.com/u/41565?v=3","gravatar_id":"","url":"https://api.github.com/users/btel","html_url":"https://github.com/btel","followers_url":"https://api.github.com/users/btel/followers","following_url":"https://api.github.com/users/btel/following{/other_user}","gists_url":"https://api.github.com/users/btel/gists{/gist_id}","starred_url":"https://api.github.com/users/btel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/btel/subscriptions","organizations_url":"https://api.github.com/users/btel/orgs","repos_url":"https://api.github.com/users/btel/repos","events_url":"https://api.github.com/users/btel/events{/privacy}","received_events_url":"https://api.github.com/users/btel/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2016-02-10T13:59:58Z","updated_at":"2016-02-10T16:55:55Z","closed_at":null,"body":"I agree that pandas DataFrame is becoming the workforce of data analysis in Python. Recently, I gave as SC [lesson](https://github.com/btel/2015_eitn_swc_pandas) on pandas, which was received quite well. However, I think one should introduce or at least mention `numpy` in this lesson for several reasons:\r\n\r\n- students leaving the course without basic familiarity of numpy will not be able to understand ~60% (my rough guess) of scientific Python applications (this is contradiciting the last goal listed for the lesson),\r\n- much of pandas is based on numpy API\r\n- pandas is big and complex and there are many ways to get yourself into trouble (for example, there are mutliple ways of indexing), numpy has a simpler design and uses only few concepts (indexing, ufuncs, dtype).\r\n\r\nOn the other hand:\r\n\r\n- pandas includes (basic) plotting\r\n- pandas can read and export to many data formats"},"comment":{"url":"https://api.github.com/repos/swcarpentry/python-novice-gapminder/issues/comments/182477736","html_url":"https://github.com/swcarpentry/python-novice-gapminder/issues/17#issuecomment-182477736","issue_url":"https://api.github.com/repos/swcarpentry/python-novice-gapminder/issues/17","id":182477736,"user":{"login":"fonnesbeck","id":81476,"avatar_url":"https://avatars.githubusercontent.com/u/81476?v=3","gravatar_id":"","url":"https://api.github.com/users/fonnesbeck","html_url":"https://github.com/fonnesbeck","followers_url":"https://api.github.com/users/fonnesbeck/followers","following_url":"https://api.github.com/users/fonnesbeck/following{/other_user}","gists_url":"https://api.github.com/users/fonnesbeck/gists{/gist_id}","starred_url":"https://api.github.com/users/fonnesbeck/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fonnesbeck/subscriptions","organizations_url":"https://api.github.com/users/fonnesbeck/orgs","repos_url":"https://api.github.com/users/fonnesbeck/repos","events_url":"https://api.github.com/users/fonnesbeck/events{/privacy}","received_events_url":"https://api.github.com/users/fonnesbeck/received_events","type":"User","site_admin":false},"created_at":"2016-02-10T16:55:55Z","updated_at":"2016-02-10T16:55:55Z","body":"It would be worth mentioning Numpy in the DataFrames section. This could be introduced in the context of transforming values within a column, prior to analyzing or plotting them (e.g. `df.apply(np.log)`). I would suggest this in place of the \"normalize values\" exercise in the last bullet point in this section.\r\n\r\nThis requires much less additional content than in previous modules because here NumPy is not being introduced as a foundational package providing the key data structure for the lessons, but rather as a \"bag of functions\" that can be applied to Pandas data structures."}}