{"action":"created","comment":{"url":"https://api.github.com/repos/pandas-dev/pandas/pulls/comments/139143187","pull_request_review_id":63036067,"id":139143187,"diff_hunk":"@@ -1031,3 +1032,73 @@ def f():\n \n         pytest.raises(AttributeError, f)\n         assert not hasattr(t, \"b\")\n+\n+\n+class TestToIterable(object):\n+    # test that we convert an iterable to python types\n+\n+    dtypes = [\n+        ('int8', (int, long)),\n+        ('int16', (int, long)),\n+        ('int32', (int, long)),\n+        ('int64', (int, long)),\n+        ('uint8', (int, long)),\n+        ('uint16', (int, long)),\n+        ('uint32', (int, long)),\n+        ('uint64', (int, long)),\n+        ('float16', float),\n+        ('float32', float),\n+        ('float64', float),\n+        ('datetime64[ns]', Timestamp),\n+        ('datetime64[ns, US/Eastern]', Timestamp),\n+        ('timedelta64[ns]', Timedelta)]\n+\n+    @pytest.mark.parametrize(\n+        'dtype, rdtype',\n+        dtypes + [\n+            ('object', object),\n+            ('category', object)])\n+    @pytest.mark.parametrize(\n+        'method',\n+        [\n+            lambda x: x.tolist(),\n+            lambda x: list(x),\n+            lambda x: list(x.__iter__()),\n+        ], ids=['tolist', 'list', 'iter'])\n+    @pytest.mark.parametrize('typ', [Series, Index])\n+    def test_iterable(self, typ, method, dtype, rdtype):\n+        # gh-10904\n+        # gh-13258\n+        # coerce iteration to underlying python / pandas types\n+        s = typ([1], dtype=dtype)\n+        result = method(s)[0]\n+        assert isinstance(result, rdtype)\n+\n+    @pytest.mark.parametrize(\n+        'dtype, rdtype',\n+        dtypes + [\n+            ('object', (int, long)),\n+            ('category', (int, long))])\n+    @pytest.mark.parametrize('typ', [Series, Index])\n+    def test_iterable_map(self, typ, dtype, rdtype):\n+        # gh-13236\n+        # coerce iteration to underlying python / pandas types\n+        s = typ([1], dtype=dtype)\n+        result = s.map(type)[0]\n+        if not isinstance(rdtype, tuple):\n+            rdtype = tuple([rdtype])\n+        assert result in rdtype\n+\n+    @pytest.mark.parametrize(\n+        'method',\n+        [\n+            lambda x: x.tolist(),\n+            lambda x: list(x),\n+            lambda x: list(x.__iter__()),\n+        ], ids=['tolist', 'list', 'iter'])\n+    def test_categorial_datetimelike(self, method):\n+        i = CategoricalIndex([Timestamp('1999-12-31'),\n+                              Timestamp('2000-12-31')])\n+\n+        result = method(i)[0]\n+        assert isinstance(result, Timestamp)","path":"pandas/tests/test_base.py","position":96,"original_position":96,"commit_id":"05f8a6f6b192e9037747d2d0251b8506b53a70d1","original_commit_id":"05f8a6f6b192e9037747d2d0251b8506b53a70d1","user":{"login":"jorisvandenbossche","id":1020496,"avatar_url":"https://avatars2.githubusercontent.com/u/1020496?v=4","gravatar_id":"","url":"https://api.github.com/users/jorisvandenbossche","html_url":"https://github.com/jorisvandenbossche","followers_url":"https://api.github.com/users/jorisvandenbossche/followers","following_url":"https://api.github.com/users/jorisvandenbossche/following{/other_user}","gists_url":"https://api.github.com/users/jorisvandenbossche/gists{/gist_id}","starred_url":"https://api.github.com/users/jorisvandenbossche/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jorisvandenbossche/subscriptions","organizations_url":"https://api.github.com/users/jorisvandenbossche/orgs","repos_url":"https://api.github.com/users/jorisvandenbossche/repos","events_url":"https://api.github.com/users/jorisvandenbossche/events{/privacy}","received_events_url":"https://api.github.com/users/jorisvandenbossche/received_events","type":"User","site_admin":false},"body":"Yes, but you said this PR changed the behaviour of itertuples ? (https://github.com/pandas-dev/pandas/issues/13468#issuecomment-328844029) Then we should have a test for that?","created_at":"2017-09-15T13:05:39Z","updated_at":"2017-09-15T13:05:39Z","html_url":"https://github.com/pandas-dev/pandas/pull/17491#discussion_r139143187","pull_request_url":"https://api.github.com/repos/pandas-dev/pandas/pulls/17491","author_association":"OWNER","_links":{"self":{"href":"https://api.github.com/repos/pandas-dev/pandas/pulls/comments/139143187"},"html":{"href":"https://github.com/pandas-dev/pandas/pull/17491#discussion_r139143187"},"pull_request":{"href":"https://api.github.com/repos/pandas-dev/pandas/pulls/17491"}},"in_reply_to_id":138386370},"pull_request":{"url":"https://api.github.com/repos/pandas-dev/pandas/pulls/17491","id":140227232,"html_url":"https://github.com/pandas-dev/pandas/pull/17491","diff_url":"https://github.com/pandas-dev/pandas/pull/17491.diff","patch_url":"https://github.com/pandas-dev/pandas/pull/17491.patch","issue_url":"https://api.github.com/repos/pandas-dev/pandas/issues/17491","number":17491,"state":"closed","locked":false,"title":"COMPAT: Iteration should always yield a python scalar","user":{"login":"jreback","id":953992,"avatar_url":"https://avatars2.githubusercontent.com/u/953992?v=4","gravatar_id":"","url":"https://api.github.com/users/jreback","html_url":"https://github.com/jreback","followers_url":"https://api.github.com/users/jreback/followers","following_url":"https://api.github.com/users/jreback/following{/other_user}","gists_url":"https://api.github.com/users/jreback/gists{/gist_id}","starred_url":"https://api.github.com/users/jreback/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jreback/subscriptions","organizations_url":"https://api.github.com/users/jreback/orgs","repos_url":"https://api.github.com/users/jreback/repos","events_url":"https://api.github.com/users/jreback/events{/privacy}","received_events_url":"https://api.github.com/users/jreback/received_events","type":"User","site_admin":false},"body":"xref #10904\r\ncloses #13236\r\ncloses #13258\r\nxref #14216\r\n","created_at":"2017-09-10T21:58:03Z","updated_at":"2017-09-15T13:05:39Z","closed_at":"2017-09-12T12:54:54Z","merged_at":"2017-09-12T12:54:54Z","merge_commit_sha":"83436af8ae1ccad49b7ceac7471c060d823d10ab","assignee":null,"assignees":[],"requested_reviewers":[],"milestone":{"url":"https://api.github.com/repos/pandas-dev/pandas/milestones/46","html_url":"https://github.com/pandas-dev/pandas/milestone/46","labels_url":"https://api.github.com/repos/pandas-dev/pandas/milestones/46/labels","id":2406656,"number":46,"title":"0.21.0","description":"","creator":{"login":"jreback","id":953992,"avatar_url":"https://avatars2.githubusercontent.com/u/953992?v=4","gravatar_id":"","url":"https://api.github.com/users/jreback","html_url":"https://github.com/jreback","followers_url":"https://api.github.com/users/jreback/followers","following_url":"https://api.github.com/users/jreback/following{/other_user}","gists_url":"https://api.github.com/users/jreback/gists{/gist_id}","starred_url":"https://api.github.com/users/jreback/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jreback/subscriptions","organizations_url":"https://api.github.com/users/jreback/orgs","repos_url":"https://api.github.com/users/jreback/repos","events_url":"https://api.github.com/users/jreback/events{/privacy}","received_events_url":"https://api.github.com/users/jreback/received_events","type":"User","site_admin":false},"open_issues":132,"closed_issues":468,"state":"open","created_at":"2017-03-23T13:26:25Z","updated_at":"2017-09-15T10:21:37Z","due_on":"2017-09-30T07:00:00Z","closed_at":null},"commits_url":"https://api.github.com/repos/pandas-dev/pandas/pulls/17491/commits","review_comments_url":"https://api.github.com/repos/pandas-dev/pandas/pulls/17491/comments","review_comment_url":"https://api.github.com/repos/pandas-dev/pandas/pulls/comments{/number}","comments_url":"https://api.github.com/repos/pandas-dev/pandas/issues/17491/comments","statuses_url":"https://api.github.com/repos/pandas-dev/pandas/statuses/05f8a6f6b192e9037747d2d0251b8506b53a70d1","head":{"label":"jreback:map","ref":"map","sha":"05f8a6f6b192e9037747d2d0251b8506b53a70d1","user":{"login":"jreback","id":953992,"avatar_url":"https://avatars2.githubusercontent.com/u/953992?v=4","gravatar_id":"","url":"https://api.github.com/users/jreback","html_url":"https://github.com/jreback","followers_url":"https://api.github.com/users/jreback/followers","following_url":"https://api.github.com/users/jreback/following{/other_user}","gists_url":"https://api.github.com/users/jreback/gists{/gist_id}","starred_url":"https://api.github.com/users/jreback/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jreback/subscriptions","organizations_url":"https://api.github.com/users/jreback/orgs","repos_url":"https://api.github.com/users/jreback/repos","events_url":"https://api.github.com/users/jreback/events{/privacy}","received_events_url":"https://api.github.com/users/jreback/received_events","type":"User","site_admin":false},"repo":{"id":2142250,"name":"pandas","full_name":"jreback/pandas","owner":{"login":"jreback","id":953992,"avatar_url":"https://avatars2.githubusercontent.com/u/953992?v=4","gravatar_id":"","url":"https://api.github.com/users/jreback","html_url":"https://github.com/jreback","followers_url":"https://api.github.com/users/jreback/followers","following_url":"https://api.github.com/users/jreback/following{/other_user}","gists_url":"https://api.github.com/users/jreback/gists{/gist_id}","starred_url":"https://api.github.com/users/jreback/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jreback/subscriptions","organizations_url":"https://api.github.com/users/jreback/orgs","repos_url":"https://api.github.com/users/jreback/repos","events_url":"https://api.github.com/users/jreback/events{/privacy}","received_events_url":"https://api.github.com/users/jreback/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/jreback/pandas","description":"Flexible and powerful data analysis / manipulation library for Python, providing labeled data structures similar to R data.frame objects, statistical functions, and much more","fork":true,"url":"https://api.github.com/repos/jreback/pandas","forks_url":"https://api.github.com/repos/jreback/pandas/forks","keys_url":"https://api.github.com/repos/jreback/pandas/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jreback/pandas/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jreback/pandas/teams","hooks_url":"https://api.github.com/repos/jreback/pandas/hooks","issue_events_url":"https://api.github.com/repos/jreback/pandas/issues/events{/number}","events_url":"https://api.github.com/repos/jreback/pandas/events","assignees_url":"https://api.github.com/repos/jreback/pandas/assignees{/user}","branches_url":"https://api.github.com/repos/jreback/pandas/branches{/branch}","tags_url":"https://api.github.com/repos/jreback/pandas/tags","blobs_url":"https://api.github.com/repos/jreback/pandas/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jreback/pandas/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jreback/pandas/git/refs{/sha}","trees_url":"https://api.github.com/repos/jreback/pandas/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jreback/pandas/statuses/{sha}","languages_url":"https://api.github.com/repos/jreback/pandas/languages","stargazers_url":"https://api.github.com/repos/jreback/pandas/stargazers","contributors_url":"https://api.github.com/repos/jreback/pandas/contributors","subscribers_url":"https://api.github.com/repos/jreback/pandas/subscribers","subscription_url":"https://api.github.com/repos/jreback/pandas/subscription","commits_url":"https://api.github.com/repos/jreback/pandas/commits{/sha}","git_commits_url":"https://api.github.com/repos/jreback/pandas/git/commits{/sha}","comments_url":"https://api.github.com/repos/jreback/pandas/comments{/number}","issue_comment_url":"https://api.github.com/repos/jreback/pandas/issues/comments{/number}","contents_url":"https://api.github.com/repos/jreback/pandas/contents/{+path}","compare_url":"https://api.github.com/repos/jreback/pandas/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jreback/pandas/merges","archive_url":"https://api.github.com/repos/jreback/pandas/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jreback/pandas/downloads","issues_url":"https://api.github.com/repos/jreback/pandas/issues{/number}","pulls_url":"https://api.github.com/repos/jreback/pandas/pulls{/number}","milestones_url":"https://api.github.com/repos/jreback/pandas/milestones{/number}","notifications_url":"https://api.github.com/repos/jreback/pandas/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jreback/pandas/labels{/name}","releases_url":"https://api.github.com/repos/jreback/pandas/releases{/id}","deployments_url":"https://api.github.com/repos/jreback/pandas/deployments","created_at":"2011-08-02T12:17:07Z","updated_at":"2017-09-13T02:48:18Z","pushed_at":"2017-09-14T22:48:30Z","git_url":"git://github.com/jreback/pandas.git","ssh_url":"git@github.com:jreback/pandas.git","clone_url":"https://github.com/jreback/pandas.git","svn_url":"https://github.com/jreback/pandas","homepage":"http://pandas.sourceforge.net","size":106003,"stargazers_count":10,"watchers_count":10,"language":"Python","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":5,"mirror_url":null,"open_issues_count":0,"forks":5,"open_issues":0,"watchers":10,"default_branch":"master"}},"base":{"label":"pandas-dev:master","ref":"master","sha":"9a8427404efb3df5deda12f76352725d628adf5e","user":{"login":"pandas-dev","id":21206976,"avatar_url":"https://avatars2.githubusercontent.com/u/21206976?v=4","gravatar_id":"","url":"https://api.github.com/users/pandas-dev","html_url":"https://github.com/pandas-dev","followers_url":"https://api.github.com/users/pandas-dev/followers","following_url":"https://api.github.com/users/pandas-dev/following{/other_user}","gists_url":"https://api.github.com/users/pandas-dev/gists{/gist_id}","starred_url":"https://api.github.com/users/pandas-dev/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pandas-dev/subscriptions","organizations_url":"https://api.github.com/users/pandas-dev/orgs","repos_url":"https://api.github.com/users/pandas-dev/repos","events_url":"https://api.github.com/users/pandas-dev/events{/privacy}","received_events_url":"https://api.github.com/users/pandas-dev/received_events","type":"Organization","site_admin":false},"repo":{"id":858127,"name":"pandas","full_name":"pandas-dev/pandas","owner":{"login":"pandas-dev","id":21206976,"avatar_url":"https://avatars2.githubusercontent.com/u/21206976?v=4","gravatar_id":"","url":"https://api.github.com/users/pandas-dev","html_url":"https://github.com/pandas-dev","followers_url":"https://api.github.com/users/pandas-dev/followers","following_url":"https://api.github.com/users/pandas-dev/following{/other_user}","gists_url":"https://api.github.com/users/pandas-dev/gists{/gist_id}","starred_url":"https://api.github.com/users/pandas-dev/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pandas-dev/subscriptions","organizations_url":"https://api.github.com/users/pandas-dev/orgs","repos_url":"https://api.github.com/users/pandas-dev/repos","events_url":"https://api.github.com/users/pandas-dev/events{/privacy}","received_events_url":"https://api.github.com/users/pandas-dev/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/pandas-dev/pandas","description":"Flexible and powerful data analysis / manipulation library for Python, providing labeled data structures similar to R data.frame objects, statistical functions, and much more","fork":false,"url":"https://api.github.com/repos/pandas-dev/pandas","forks_url":"https://api.github.com/repos/pandas-dev/pandas/forks","keys_url":"https://api.github.com/repos/pandas-dev/pandas/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pandas-dev/pandas/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pandas-dev/pandas/teams","hooks_url":"https://api.github.com/repos/pandas-dev/pandas/hooks","issue_events_url":"https://api.github.com/repos/pandas-dev/pandas/issues/events{/number}","events_url":"https://api.github.com/repos/pandas-dev/pandas/events","assignees_url":"https://api.github.com/repos/pandas-dev/pandas/assignees{/user}","branches_url":"https://api.github.com/repos/pandas-dev/pandas/branches{/branch}","tags_url":"https://api.github.com/repos/pandas-dev/pandas/tags","blobs_url":"https://api.github.com/repos/pandas-dev/pandas/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pandas-dev/pandas/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pandas-dev/pandas/git/refs{/sha}","trees_url":"https://api.github.com/repos/pandas-dev/pandas/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pandas-dev/pandas/statuses/{sha}","languages_url":"https://api.github.com/repos/pandas-dev/pandas/languages","stargazers_url":"https://api.github.com/repos/pandas-dev/pandas/stargazers","contributors_url":"https://api.github.com/repos/pandas-dev/pandas/contributors","subscribers_url":"https://api.github.com/repos/pandas-dev/pandas/subscribers","subscription_url":"https://api.github.com/repos/pandas-dev/pandas/subscription","commits_url":"https://api.github.com/repos/pandas-dev/pandas/commits{/sha}","git_commits_url":"https://api.github.com/repos/pandas-dev/pandas/git/commits{/sha}","comments_url":"https://api.github.com/repos/pandas-dev/pandas/comments{/number}","issue_comment_url":"https://api.github.com/repos/pandas-dev/pandas/issues/comments{/number}","contents_url":"https://api.github.com/repos/pandas-dev/pandas/contents/{+path}","compare_url":"https://api.github.com/repos/pandas-dev/pandas/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pandas-dev/pandas/merges","archive_url":"https://api.github.com/repos/pandas-dev/pandas/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pandas-dev/pandas/downloads","issues_url":"https://api.github.com/repos/pandas-dev/pandas/issues{/number}","pulls_url":"https://api.github.com/repos/pandas-dev/pandas/pulls{/number}","milestones_url":"https://api.github.com/repos/pandas-dev/pandas/milestones{/number}","notifications_url":"https://api.github.com/repos/pandas-dev/pandas/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pandas-dev/pandas/labels{/name}","releases_url":"https://api.github.com/repos/pandas-dev/pandas/releases{/id}","deployments_url":"https://api.github.com/repos/pandas-dev/pandas/deployments","created_at":"2010-08-24T01:37:33Z","updated_at":"2017-09-15T12:14:58Z","pushed_at":"2017-09-15T12:06:19Z","git_url":"git://github.com/pandas-dev/pandas.git","ssh_url":"git@github.com:pandas-dev/pandas.git","clone_url":"https://github.com/pandas-dev/pandas.git","svn_url":"https://github.com/pandas-dev/pandas","homepage":"http://pandas.pydata.org","size":104605,"stargazers_count":10832,"watchers_count":10832,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":4315,"mirror_url":null,"open_issues_count":2141,"forks":4315,"open_issues":2141,"watchers":10832,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/pandas-dev/pandas/pulls/17491"},"html":{"href":"https://github.com/pandas-dev/pandas/pull/17491"},"issue":{"href":"https://api.github.com/repos/pandas-dev/pandas/issues/17491"},"comments":{"href":"https://api.github.com/repos/pandas-dev/pandas/issues/17491/comments"},"review_comments":{"href":"https://api.github.com/repos/pandas-dev/pandas/pulls/17491/comments"},"review_comment":{"href":"https://api.github.com/repos/pandas-dev/pandas/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/pandas-dev/pandas/pulls/17491/commits"},"statuses":{"href":"https://api.github.com/repos/pandas-dev/pandas/statuses/05f8a6f6b192e9037747d2d0251b8506b53a70d1"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"jorisvandenbossche"}}