Pandas 使用切片和整数索引选择列
Posted
技术标签:
【中文标题】Pandas 使用切片和整数索引选择列【英文标题】:Pandas select columns using slicing and integer index 【发布时间】:2017-01-13 12:26:38 【问题描述】:我正在尝试选择第 2 列和第 4 列:(第 4 列直到最后):
df3.iloc[:, [2, 4:]]
文件“”,第 1 行 df3.iloc[:, [2, 4:]] ___________^ SyntaxError: 无效语法
我显然收到一条错误消息。 col 4 后面有很多列,所以写这样的东西感觉不对:[2, 4, 5, 6, 7, ...]
还有其他快速的方法吗?
【问题讨论】:
【参考方案1】:您可以将range
与shape
一起使用:
df3 = pd.DataFrame('A':[1,2,3],
'B':[4,5,6],
'C':[7,8,9],
'D':[1,3,5],
'E':[5,3,6],
'F':[7,4,3])
print (df3)
A B C D E F
0 1 4 7 1 5 7
1 2 5 8 3 3 4
2 3 6 9 5 6 3
cols = ([2] + list(range(4,df3.shape[1])))
print (cols)
[2, 4, 5]
print (df3.iloc[:,cols])
C E F
0 7 5 7
1 8 3 4
2 9 6 3
numpy.r_
的另一个解决方案:
cols1 = np.r_[2, np.arange(4,df3.shape[1])]
print (cols1)
[2 4 5]
print (df3.iloc[:,cols1])
C E F
0 7 5 7
1 8 3 4
2 9 6 3
【讨论】:
以上是关于Pandas 使用切片和整数索引选择列的主要内容,如果未能解决你的问题,请参考以下文章