Python 如何在没有'的情况下打印熊猫类型;数据类型';?
当我写作时Python 如何在没有'的情况下打印熊猫类型;数据类型';?,python,pandas,Python,Pandas,当我写作时 print(set(df_uu.dtypes)) 我得到: {dtype('int64'),dtype('float64')} 是否可能得到如下结果: int64,float64或[int64,float64]?您可以尝试: str(df_.dtypes).split()[1::2][:-1] 说明: df_uu.dtypes:获取每列的类型 str(df_u.dtypes):将以前的结果转换为字符串 .split():按空格分割字符串 [1::2]:选择列表中的每2个元素(从1
print(set(df_uu.dtypes))
我得到:
{dtype('int64'),dtype('float64')}
是否可能得到如下结果:
int64,float64
或[int64,float64]
?您可以尝试:
str(df_.dtypes).split()[1::2][:-1]
说明:
:获取每列的类型df_uu.dtypes
:将以前的结果转换为字符串str(df_u.dtypes)
:按空格分割字符串.split()
:选择列表中的每2个元素(从1开始)[1::2]
:删除列表的最后一个元素(此处无用)[:-1]
df=pd.DataFrame()
df['A']=['a','b','c']
df['B']=[1,2,3]
df['C']=[1.3,4.6,0.01]
print(df.dtypes)
输出:对象
B int64
C浮动64
数据类型:对象
是的,你可以
set(df.dtypes.map(lambda x : x.name))
Out[379]: {'float64', 'int64', 'object'}
非常感谢。我将您的代码修改为稍快一点的版本
set([x.name代表df\uux.dtypes中的x])
谢谢,但它不能正常工作str(df.dtypes).split()[1::2]
在类型旁边的某个点返回列名:…'int64','int64','float64','D1747','D1748','D1749',…
我的数据框中有2k列。请确保列名中有一些空格。Yenyoben方案肯定更好。谢谢你的反馈。