当一列与其他列分开时,如何选择数据帧列?

2024-04-24 04:15:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据帧,我想从中获取第5列以及动态范围内的其他列

        0       1    2    3    4        5    ...    235    236   237   238   239  240
0     ACSSF  2019e5  md  000  0001  0000001  ...  22288  15090  8357  3759  1378  459
1     ACSSF  2019e5  md  000  0001  0000002  ...  21922  14734  8189  3723  1378  447
2     ACSSF  2019e5  md  000  0001  0000003  ...    366    356   168    36     0   12
3     ACSSF  2019e5  md  000  0001  0000004  ...  22205  15042  8318  3751  1378  459

我可以使用df.iloc在动态范围内选择列

start = 79
end = 83    
columns = df.iloc[:, start:end] 

然而,我想抓住第5列和其他列。我怎样才能做到这一点?结果应该是这样的

      5        79       80      81      82
0  0000001  6018848  2917613  186260  189641
1  0000002  5247469  2531081  166668  167130
2  0000003   771379   386532   19592   22511
3  0000004  5937028  2877671  184124  187244

2条回答

您可以这样尝试:连接所需的两个数据帧(第5列和动态范围)

df2 = pd.concat([df['5'], df.iloc[:, start:end]], axis=1)

可以使用^{}连接索引和切片对象,例如:

import numpy as np

start = 2
end = 4    
df.iloc[:, np.r_[0, start:end]] 

       0   2  3
0  ACSSF  md  0
1  ACSSF  md  0
2  ACSSF  md  0
3  ACSSF  md  0

相关问题 更多 >