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()
    :按空格分割字符串
  • [1::2]
    :选择列表中的每2个元素(从1开始)
  • [:-1]
    :删除列表的最后一个元素(此处无用)

您可以使用df.dtypes

    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方案肯定更好。谢谢你的反馈。