Python 根据对dataframe列的标签引用选择下一列
如果必须选择列“a”和“b”,我将执行以下操作:Python 根据对dataframe列的标签引用选择下一列,python,pandas,dataframe,Python,Pandas,Dataframe,如果必须选择列“a”和“b”,我将执行以下操作: 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”旁边的列,而不必键入名称?实际上,我正在从excel工作表中获取数据,名称可以更改,并且可以有空格 提前谢谢 预期产量 sublist=['a','b']
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”旁边的列,而不必键入名称?实际上,我正在从excel工作表中获取数据,名称可以更改,并且可以有空格 提前谢谢 预期产量
sublist=['a','b']
df2= df1[df1.columns.intersection(sublist)]
您可以使用它来获取子列表的索引
,并添加1
以获取下一列索引,然后使用:
“选择“a”和“b”旁边的列,而不必键入名称”这是什么意思?你能为这个问题添加预期的输出吗?在这种情况下,我需要列“qww12”和“hdbh”,因此需要
df2=df1.loc[:,~df1.columns.isin(子列表)]
?有没有更简单的方法…
你的代码行没有做你想做的事情,所以这句话有误导性
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
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