我有一个DataFrame df:
A B
1 dog
cat XX
我一直在尝试创建一个如下所示的pandas DataFrame df_new:
A B type_of_A type_of_B
1 dog int string
cat XX string whateverdtype it may be
我尝试过:
df_new["type_of_A"] = [pd.api.types.infer_dtype(i) for i in range(df_new['A'].values)]
但是我只有:
TypeError:仅整数标量数组可以转换为标量 索引
有人可以给我一个提示吗?这是正确的方法吗?
非常感谢
答案 0 :(得分:3)
将applymap
与type
和concat
一起使用
s=df.applymap(type).add_prefix('type_of_')
df=pd.concat([df,s],1)
Out[543]:
A B type_of_A type_of_B
0 1 dog <class 'int'> <class 'str'>
1 cat XX <class 'str'> <class 'str'>