Python 数据帧对象的数据类型,而不是int

Python 数据帧对象的数据类型,而不是int,python,pandas,types,Python,Pandas,Types,如何获取dataframe来解释Constructor中的类型?到目前为止,它将所有内容都保留为对象 这是我现在的代码: arr = list(range(120)) + [21]*100 cat = ["A"]*20 + ["B"]*40 + ["C", "D"] * 20 + ["E", "F" ,"G"] * 30 df = pd.DataFrame([arr]*3 + [cat], index = ["a1", "a2", "a3", "cat"]).T print(df.a1.dtyp

如何获取dataframe来解释Constructor中的类型?到目前为止,它将所有内容都保留为对象

这是我现在的代码:

arr = list(range(120)) + [21]*100
cat = ["A"]*20 + ["B"]*40 + ["C", "D"] * 20 + ["E", "F" ,"G"] * 30
df = pd.DataFrame([arr]*3 + [cat], index = ["a1", "a2", "a3", "cat"]).T
print(df.a1.dtype.name)
print(df.a3.dtype.name)
print(df.cat.dtype.name)

object
object
object
试试这个:

np_array = np.array([arr]*3 + [cat])
dict = {"a1":np_array[0], "a2":np_array[1], "a3":np_array[2]}
df = pd.concat([pd.DataFrame({"cat":np_array[3]}), pd.DataFrame(dict, dtype = 'int64')], names = ["a1", "a2", "a3", "cat"], axis = 1)

df.convert\u objects convert\u numeric=True.dtypes或df.head1.applymaptype?这会保持字符串变量不变吗?没有一个开放的核心rn,但字符串数组会破坏它吗?这是一些非常非常具体的代码。我主要是在寻找能够自动解释类型的东西:我在其他地方找到了另一个解决问题的方法。当我比较类型时,我使用np.subclass.dtype、np.number,其余的由它来完成