根据对熊猫数据帧列的标签引用选择下一列


import pandas as pd, numpy as np
df1 = pd.DataFrame(np.random.randint(0,100,size=(10, 4)), columns=['a','qww12','b','hdbh'])

如果我必须选择"a"和"b"列,我会执行以下操作:

sublist=['a','b']
df2= df1[df1.columns.intersection(sublist)]

有没有更简单的方法可以选择"a"和"b"旁边的列,而无需键入名称?实际上,我正在从excel工作表中获取数据,名称可以更改并且可以有空格。

提前谢谢。

预期产出

   qww12  hdbh
0     18    86
1     84    67
2     23    45
3     60    15
4     82    60
5     84    75
6     24    23
7     34    79
8      4    45
9      2    82

您可以使用get_indexer()来获取sublist的索引并添加1以获取下一列索引,然后使用df.iloc[]

df1.iloc[:,df1.columns.get_indexer(sublist)+1]

   qww12  hdbh
0     48    91
1     86    67
2     21    98
3     11    94
4      9    14
5     70    54
6     38    61
7     99    65
8     16    86
9     15    40

最新更新