草庐IT

floating-point-conversion

全部标签

python - 如何编写一个接受 int 或 float 的 C 函数?

我想用C语言创建一个函数来扩展Python,它可以接受float或int类型的输入。所以基本上,我希望f(5)和f(5.5)成为可接受的输入。我不认为我可以使用if(!PyArg_ParseTuple(args,"i",$value))因为它只需要int或只需要float。如何让我的函数允许输入整数或float?我想知道我是否应该只获取输入并将其放入PyObject中并以某种方式获取PyObject的类型-这是正确的方法吗? 最佳答案 如果您声明一个C函数来接受float,如果您将它传递给一个int,编译器将不会报错。例如,这个程序

python - 如何使用 entry_point 脚本启动调试器

我使用pipinstall-e./mylocalpkg在开发模式下安装了一个包。这个包定义了一个entry_points.console_scriptsetup(name='mylocalpkg',...entry_points={'console_scripts':['myscript=mylocalpkg.scriptfile:main']},...)这个脚本可以用任何一种方式调用$python-mmylocalpkg.scriptfile$myscript但是,我无法调试这个脚本:$python-mpdbmylocalpkg.scriptfileError:mylocalpkg.

python - 为什么 groupby sum 不将 boolean 转换为 int 或 float?

我将从3个简单的示例开始:pd.DataFrame([[True]]).sum()01dtype:int64pd.DataFrame([True]).sum()01dtype:int64pd.Series([True]).sum()1所有这些都符合预期。这是一个更复杂的例子。df=pd.DataFrame([['a','A',True],['a','B',False],['a','C',True],['b','A',True],['b','B',True],['b','C',False],],columns=list('XYZ'))df.Z.sum()4也符合预期。但是,如果我grou

python - 随机 int64 和 float64 数字

我正在尝试使用Numpy为整数和float生成随机64位整数值,在该类型的整个有效值范围内。要生成随机32位float,我可以使用:In[2]:np.random.uniform(low=np.finfo(np.float32).min,high=np.finfo(np.float32).max,size=10)Out[2]:array([1.47351436e+37,9.93620693e+37,2.22893053e+38,-3.33828977e+38,1.08247781e+37,-8.37481260e+37,2.64176554e+38,-2.72207226e+37,2.

python - 如何强制 pandas read_csv 对所有浮点列使用 float32?

因为我不需要double我的机器内存有限,我想处理更大的数据集我需要将提取的数据(作为矩阵)传递给BLAS库,单精度的BLAS调用比double等效调用快2倍。请注意,并非原始csv文件中的所有列都具有浮点类型。我只需要将float32设置为浮点列的默认值。 最佳答案 尝试:importnumpyasnpimportpandasaspd#Sample100rowsofdatatodeterminedtypes.df_test=pd.read_csv(filename,nrows=100)float_cols=[cforcindf_t

python - Django/Python : Update the relation to point at settings. AUTH_USER_MODEL

我是Python和Django的新手,但我需要在我的服务器上安装testbedserver-software(为此我遵循tutorial)。现在我在运行以下命令时遇到了麻烦:pythonmanage.pysyncdb显示以下错误:CommandError:Oneormoremodelsdidnotvalidate:menu.bookmark:'user'definesarelationwiththemodel'auth.User',whichhasbeenswappedout.Updatetherelationtopointatsettings.AUTH_USER_MODEL.dash

python - TypeError : float() argument must be a string or a number, 不是 'Period'

我有一个包含如下列的pandas数据框:df.columns=pd.to_datetime(list(df))#list(df)=["2017-01","2016-01",...]然后我在数据集的每一行中执行了一个插值,因为我有一些我想摆脱的NaN。这是打印的结果:ORIGINAL2007-12-01NaN2008-12-01NaN2009-12-01NaN2010-12-01-0.352011-12-010.672012-12-01NaN2013-12-01NaN2014-12-011.032015-12-010.372016-12-01NaN2017-12-01NaNName:ro

python - 如何检查 float pandas 列是否只包含整数?

我有一个数据框df=pd.DataFrame(data=np.arange(10),columns=['v']).astype(float)如何确保v中的数字是整数?我非常担心舍入/截断/浮点表示错误 最佳答案 与astype(int)比较暂时将您的列转换为int并使用np.array_equal进行测试:np.array_equal(df.v,df.v.astype(int))Truefloat.is_integer您可以将此python函数与apply结合使用:df.v.apply(float.is_integer).all()

python - 缺少 datetime.timedelta.to_seconds() -> 在 Python 中 float ?

我知道出于效率原因,秒和微秒可能在datetime.timedelta中单独表示,但我只是编写了这个简单的函数:defto_seconds_float(timedelta):"""Calculatefloatingpointrepresentationofcombinedseconds/microsecondsattributesin:param:`timedelta`.:raiseValueError:If:param:`timedelta.days`istruthy.>>>to_seconds_float(datetime.timedelta(seconds=1,milliseco

python - 如何检查数字是否为 np.float64 或 np.float32 或 np.float16?

除了使用一组or语句之外isinstance(x,np.float64)或isinstance(x,np.float32)或isinstance(np.float16)是否有更简洁的方法来检查变量是否为float类型? 最佳答案 你可以使用np.floating:In[11]:isinstance(np.float16(1),np.floating)Out[11]:TrueIn[12]:isinstance(np.float32(1),np.floating)Out[12]:TrueIn[13]:isinstance(np.floa