想象一下,我们有一个模拟的pandas数据框架,如下所示:

x = [1, 1000, 1001]
y = [200, 300, 400]
cat = ['first', 'second', 'third']
df = pd.DataFrame(dict(speed = x, price = y, award = cat))


数据框df如下所示:

    speed   price   award
0   1       200     first
1   1000    300     second
2   1001    400     third


如果要查看列类型,请执行df.dtypes并将给出以下输出:

speed     int64
price     int64
award    object
dtype: object


我的问题是:是否有获取此输出但列名按字母顺序排列的信息?所需的输出将是这样的:

award    object
price     int64
speed     int64
dtype: object


P.D.我知道该怎么做,首先对df进行排序,以使列以字母顺序(df.sort_index(axis=1, inplace=True))出现,然后执行dtypes。但宁愿以更有效的方式执行相同操作。

最佳答案

Series.sort_index之后使用DataFrame.dtypes

print (df.dtypes.sort_index())
award    object
price     int64
speed     int64
dtype: object


或之前的DataFrame.sort_index

print (df.sort_index(axis=1).dtypes)

关于python - 按字母顺序对dtypes排序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55722412/

10-12 21:54