如何对列进行排序并将它们分组到pandas上?

时间:2015-07-29 18:56:14

标签: python sorting pandas

我是熊猫新手。我尝试对列进行排序,并按照数字对它们进行分组。

df = pd.read_csv("12Patients150526 mutations-ORIGINAL.txt", sep="\t", header=0)
samp=df["SAMPLE"]

samp
Out[3]: 
0        11
1         2
2         9
3         1
4         8
5         2
6         1     
7         3
8        10
9         4
10        5
     ..
53157    12
53158     3
53159     2
53160    10
53161     2
53162     3
53163     4
53164    11
53165    12
53166    11
Name: SAMPLE, dtype: int64

#sorting
grp=df.sort(samp)

此代码不起作用。请问有人帮我解决我的问题。

如何根据他们的数字对它们进行排序和分组?

1 个答案:

答案 0 :(得分:0)

要根据特定列对df进行排序,请使用df.sort()并将列名作为参数传递。

import pandas as pd
import numpy as np

# data
# ===========================
np.random.seed(0)
df = pd.DataFrame(np.random.randint(1,10,1000), columns=['SAMPLE'])
df

     SAMPLE
0         6
1         1
2         4
3         4
4         8
5         4
6         6
7         3
..      ...
992       3
993       2
994       1
995       2
996       7
997       4
998       5
999       4

[1000 rows x 1 columns]

# sort
# ======================
df.sort('SAMPLE')

     SAMPLE
310       1
710       1
935       1
463       1
462       1
136       1
141       1
144       1
..      ...
174       9
392       9
386       9
382       9
178       9
772       9
890       9
307       9

[1000 rows x 1 columns]