[
https://issues.apache.org/jira/browse/ARROW-640?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16410293#comment-16410293
]
ASF GitHub Bot commented on ARROW-640:
--------------------------------------
AlexHagerman commented on a change in pull request #1765: ARROW-640: [Python]
Implement __hash__ and equality for Array scalar values Arrow scalar values
URL: https://github.com/apache/arrow/pull/1765#discussion_r176569568
##########
File path: python/pyarrow/tests/test_scalars.py
##########
@@ -171,3 +171,35 @@ def test_dictionary(self):
categorical.categories)
for i, c in enumerate(values):
assert v[i].as_py() == c
+
+ def test_int_hash(self):
+ # ARROW-640
+ int_arr = pa.array([1, 1, 2, 1])
+ assert hash(int_arr[0]) == hash(1)
+
+ def test_float_hash(self):
+ # ARROW-640
+ float_arr = pa.array([1.4, 1.2, 2.5, 1.8])
+ assert hash(float_arr[0]) == hash(1.4)
+
+ def test_string_hash(self):
+ # ARROW-640
+ str_arr = pa.array(["foo", "bar"])
+ assert hash(str_arr[1]) == hash("bar")
+
+ def test_bytes_hash(self):
+ # ARROW-640
+ byte_arr = pa.array([b'foo', None, b'bar'])
+ assert hash(byte_arr[2]) == hash(b"bar")
+
+ def test_array_to_set(self):
+ # ARROW-640
+ arr = pa.array([1, 1, 2, 1])
+ set_from_array = set(arr)
+ assert isinstance(set_from_array, set)
+
+ def test_array_to_set_unique(self):
Review comment:
Sorry about that, used to separating tests. Set tests merged.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
> [Python] Arrow scalar values should have a sensible __hash__ and comparison
> ---------------------------------------------------------------------------
>
> Key: ARROW-640
> URL: https://issues.apache.org/jira/browse/ARROW-640
> Project: Apache Arrow
> Issue Type: Bug
> Components: Python
> Reporter: Miki Tebeka
> Assignee: Alex Hagerman
> Priority: Major
> Labels: pull-request-available
> Fix For: 0.10.0
>
>
> {noformat}
> In [86]: arr = pa.from_pylist([1, 1, 1, 2])
> In [87]: set(arr)
> Out[87]: {1, 2, 1, 1}
> In [88]: arr[0] == arr[1]
> Out[88]: False
> In [89]: arr
> Out[89]:
> <pyarrow.array.Int64Array object at 0x7f8c8c739e08>
> [
> 1,
> 1,
> 1,
> 2
> ]
> {noformat}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)