【发布时间】:2016-09-20 17:37:24
【问题描述】:
我有以下 pandas 数据框,我想按“test_type”排序
test_type tps mtt mem cpu 90th
0 sso_1000 205.263559 4139.031090 24.175933 34.817701 4897.4766
1 sso_1500 201.127133 5740.741266 24.599400 34.634209 6864.9820
2 sso_2000 203.204082 6610.437558 24.466267 34.831947 8005.9054
3 sso_500 189.566836 2431.867002 23.559557 35.787484 2869.7670
我加载数据框并对其进行排序的代码是,第一行打印上面的数据框。
df = pd.read_csv(file) #reads from a csv file
print df
df = df.sort_values(by=['test_type'], ascending=True)
print '\nAfter sort...'
print df
在完成排序并打印数据框内容后,数据框仍然如下所示。
程序输出:
After sort...
test_type tps mtt mem cpu 90th
0 sso_1000 205.263559 4139.031090 24.175933 34.817701 4897.4766
1 sso_1500 201.127133 5740.741266 24.599400 34.634209 6864.9820
2 sso_2000 203.204082 6610.437558 24.466267 34.831947 8005.9054
3 sso_500 189.566836 2431.867002 23.559557 35.787484 2869.7670
我希望第 3 行(测试类型:sso_500 行)在排序后位于顶部。有人可以帮我弄清楚为什么它不能正常工作吗?
【问题讨论】:
-
看起来是按
test_type排序的,这是一个字符串,按字典顺序排序。我认为您可能需要将_和 zfill 拆分为 4 该列的“数字”部分。