DOC: 改进关于二进制模式的从字符串文档和出错/警告
作者: e-pet创建于 2024年7月25日更新于 2026年9月16日
标签04 - Documentationsustain-2026
- 与现有文件相通:
我试图将字符串"3"转换为"np.dtypes". (原始内容存档于2018-04-29). Int64 DType'.
我的第一次尝试是`np.dtypes.Int64DType('3')',希望这种型号可以调用,而它不是。
之后,
dt=数字. d型号. 缩写( I)
dt('3')# 我有点希望这能行,但型号不能叫
np. 从字符串('3', dtype=dt) # 值错误:字符串大小必须是元素大小的倍数
np. 从字符串('3', dtype=dt, count=1) # 值错误:字符串小于请求的大小
np. fromstring ('[3]', dtype=dt, count=1) # 价值错误: 无法从字符串创建对象阵列对于后三通电话,我还收到"QQ之弦":1:贬值 警告:出弦的二进制模式被贬值,因为它在unicode输入上的表现令人惊讶. 换句话说,我不明白
- "3"不是一个二进制字符串
- 我没有看到"二进制"的旗帜或任何类似的东西
我花了很长的时间才意识到被贬损的"默认可选论点""sep=""""""""""""""""""""""""""""造成这种行为. 我个人认为这非常不直觉和出人意料。 (我根本没看这个论点是因为我对Scalar案感兴趣).
事实上,np.fromstring ('3', dtype=int, sep='')至少工作'。
然而, np.fromstring ('3', dtype=np.dtypes.Int64DType, sep=''')gives'`ValueError: 无法从字符串中创建对象阵列' - 我再次感到惊讶.
QQ 想法或内容请求 :
至少,我建议在贬值警告中添加一个说明,即二进制模式由默认的可选参数sep=''所触发,将任何其他值传递给sep'将解决这个问题。
此外,我建议对文件增加一些评论,说明为什么传递`dtype=numpy'之类的东西。 d型号. Int64DType ' 不起作用。
此外,我建议增加一个评论,即`np.array(stry, dtype=.)'可能是人们想要的.
内容来源: numpy/numpy