-
-
Notifications
You must be signed in to change notification settings - Fork 18.4k
BUG: pandas.to_datetime fails to handle numpy.nan on riscv64 due to dependency on undefined behaviour #48610
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
Comments
Hi, thanks for your report. This works on 1.4.3 and main for me. Can you please recheck, that you have pandas 1.4.3 installed? |
Of course I have, why do you ask? |
Because it works for me on 1.4.3, 1.4.4 and main |
How did you test that? |
I executed the code snippet from your post? |
Where did you execute it? In qemu or on real hardware? |
Macos |
I executed it on a macOS os |
What hardware? |
There is macos for RISC-V??? |
Did you actually read the report? |
Please use gcc92.fsffrance.org for your tests if don't have your own hardware. |
There is a code snippet, nothing else. I read the versions, but if you think that this is specific to your hardware, a small explanation would have been nice. Your report reads like a general issue, which is not the case. could you adjust your issue title and add a small explanation? you could also try debugging it yourself if you are interested |
You can also use one of the images in https://download.opensuse.org/ports/riscv/tumbleweed/images/ with qemu. |
This is a general issue because it depends on undefined behaviour (converting NaN value to integer). |
It works on my machine, so seems to be hardware dependent |
Depending on undefined behaviour is a bug. |
$ python3 -c $'import numpy\nprint(numpy.asarray(numpy.nan).astype("i8"))' |
@andreas-schwab we don't support this hardware in any way you can submit a patch if u can find the problem |
This has nothing to do with hardware support. This is undefined behaviour. Depending on undefined behaviour is a serious bug. |
You are welcome to submit a pr, if you can identify the bug and provide a fix. |
@andreas-schwab could you please clarify? What commits is this diff between, what's it meant to show? I've formatted your code to make it easier to read, but - apologies for not understanding - I still don't see your point. Could you clarify what exactly you're expecting pandas to do?
please be respectful |
Your reaction to the bug report has been far from respectful so far.
|
Could you please update the top post with steps how to reproduce the bug if you are on windows/ubuntu/macOS? This will help someone who wants to work on this. We have tests covering this case in the ci, so simply executing the code snippet won't be sufficient. Additionally, it would be great if you could add an explanation on what you are referring to with undefined behaviour, this is not clear to me. Some context to the code snippet you posted earlier would also be helpful. |
Converting a value of floating type to integer type which is out of range for the integer type is undefined, see 6.3.1.4 Real floating and integer. |
You can use gcc92.fsffrance.org for your tests if don't have your own hardware, or use qemu with the images from https://download.opensuse.org/ports/riscv/tumbleweed/images/. |
I copied it into the top post in case someone wants to work on this |
Pandas version checks
I have checked that this issue has not already been reported.
I have confirmed this bug exists on the latest version of pandas.
I have confirmed this bug exists on the main branch of pandas.
Reproducible Example
Issue Description
Expected Behavior
No error.
Installed Versions
/usr/lib/python3.10/site-packages/_distutils_hack/init.py:33: UserWarning: Setuptools is replacing distutils.
warnings.warn("Setuptools is replacing distutils.")
INSTALLED VERSIONS
commit : e8093ba
python : 3.10.6.final.0
python-bits : 64
OS : Linux
OS-release : 6.0.0-rc5-38-default
Version : #1 SMP Mon Sep 12 15:18:20 UTC 2022 (005845a)
machine : riscv64
processor : riscv64
byteorder : little
LC_ALL : None
LANG : de_DE.UTF-8
LOCALE : de_DE.UTF-8
pandas : 1.4.3
numpy : 1.21.6
pytz : 2022.1
dateutil : 2.8.2
setuptools : 63.2.0
pip : 22.0.4
Cython : None
pytest : None
hypothesis : None
sphinx : None
blosc : None
feather : None
xlsxwriter : None
lxml.etree : None
html5lib : None
pymysql : None
psycopg2 : None
jinja2 : None
IPython : None
pandas_datareader: None
bs4 : None
bottleneck : 1.3.5
brotli : 1.0.9
fastparquet : None
fsspec : None
gcsfs : None
markupsafe : None
matplotlib : None
numba : None
numexpr : 2.8.3
odfpy : None
openpyxl : None
pandas_gbq : None
pyarrow : None
pyreadstat : None
pyxlsb : None
s3fs : None
scipy : None
snappy : None
sqlalchemy : None
tables : None
tabulate : None
xarray : None
xlrd : None
xlwt : None
zstandard : None
The text was updated successfully, but these errors were encountered: