按字母顺序对dtype排序

时间:2019-04-17 07:45:11

标签: python pandas list dataframe

想象一下,我们有一个像这样的模拟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。但宁愿以更有效的方式做同样的事情。

1 个答案:

答案 0 :(得分:3)

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)