我对python有点新,我在另一个程序(ABAQUS)中使用python模块。但问题是完全与python相关。
在程序中,我需要创建一个整数数组。该数组稍后将用作ABAQUS中定义的函数的输入。问题是整数的数据类型。在数组中,整数的数据类型为“int64”。但是,当我将数组输入到所需的函数时,我收到以下错误:
“ABAQUS接口仅支持INT,FLOAT和DOUBLE(如果标准长度为64位,则使用带有typecode int的多阵列)”
我不需要ABAQUS的帮助。如果我在python中将数据类型转换为'int',那就足够了。我以为我可以简单地使用int()函数来转换数据类型。这没用。任何建议将受到高度赞赏。谢谢大家。
答案 0 :(得分:10)
@ J.F。塞巴斯蒂安回答:
a.astype(numpy.int32)
答案 1 :(得分:9)
答案 2 :(得分:0)
对item()
对象使用numpy.int64
方法,在另一个类似问题中使用Mike T's answer。
答案 3 :(得分:-4)
如果它是熊猫系列,你可以先将其转换为Dataframe,然后使用df.to_dict(),然后将numpy.int64转换为int
In [1]: import pandas as pd
In [2]: import numpy as np
In [3]: df = pd.DataFrame(np.random.randint(5,size=(3,4)),
index=np.arange(3))
In [4]: type(df[0][0])
Out[4]: numpy.int64
In [5]: dict_of_df = df.to_dict()
In [6]: type(dict_of_df[0][0])
Out[6]: int