-
-
Notifications
You must be signed in to change notification settings - Fork 18.7k
read_excel with dtype=str converts empty cells to np.nan #20429
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 1 commit
dd53df8
6f771fb
37f00ad
f194b70
eb8f4c5
ac6a409
6994bb0
40a563f
9858259
5f71a99
0a93b60
f296f9a
7c0af1f
f0fd0a7
61e0519
9fdac27
ddb904f
694849d
5ba95a1
d3ceec3
ea1d73a
c1376a5
3103811
7d5f6b2
478d08d
edb26d7
c3ab9cb
69f6c95
97a345a
8b2fb0b
c9f5120
fab0b27
571d5c4
0712392
47bc105
3740dfe
7d453bb
bcd739d
7341cd1
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -466,7 +466,10 @@ cpdef ndarray[object] astype_unicode(ndarray arr): | |
# we can use the unsafe version because we know `result` is mutable | ||
# since it was created from `np.empty` | ||
arr_i = arr[i] | ||
util.set_value_at_unsafe(result, i, unicode(arr_i) if arr_i is not np.nan else np.nan) | ||
util.set_value_at_unsafe( | ||
result, | ||
i, | ||
unicode(arr_i) if arr_i is not np.nan else np.nan) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Interesting spacing...maybe we should do this instead: uni_arr_i = unicode(arr_i) if arr_i is not np.nan else np.nan
util.set_value_at_unsafe(result, i, uni_arr_i) There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. use There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Using
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. yeah that is not friendly to strings - ok There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. When i use that, all hell breaks loose. I get errors in tests like this one https://github.com/pandas-dev/pandas/blob/master/pandas/tests/frame/test_dtypes.py#L533 Is it because they use There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @gfyoung are you sure this indentation is a big problem? Because if I do what you suggest, then how should I declare uni_arr_i (and str_arr_i) in the cdef? util.set_value_at_unsafe(
...
) (moved the close bracket in the next line)? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. That would work as well. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. the nans are the same; iow they point to the same object |
||
|
||
return result | ||
|
||
|
@@ -480,7 +483,10 @@ cpdef ndarray[object] astype_str(ndarray arr): | |
# we can use the unsafe version because we know `result` is mutable | ||
# since it was created from `np.empty` | ||
arr_i = arr[i] | ||
util.set_value_at_unsafe(result, i, str(arr_i) if arr_i is not np.nan else np.nan) | ||
util.set_value_at_unsafe( | ||
result, | ||
i, | ||
str(arr_i) if arr_i is not np.nan else np.nan) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. same |
||
|
||
return result | ||
|
||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is arr_i in the cdef?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
d'oh!