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发布于 2019-05-30 15:06:33
可以为此使用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 40https://stackoverflow.com/questions/56380746
复制相似问题