给出以下数据框:
import pandas as pd
df = pd.DataFrame({'a':[1,2,3],'b':[4,5,6],'c':[1,2,3],'d':[4,5,6]})
df
a b c d
0 1 4 1 4
1 2 5 2 5
2 3 6 3 6
我只想按列索引位置选择列a,c和d。 我没有运气就尝试了以下方法:
df[df.columns[0],df.columns[-2:]]
我可能可以通过普通的Python找出答案,但是想知道熊猫中是否有捷径。
答案 0 :(得分:4)
使用索引append
df.loc[:,df.columns[[0]].append(df.columns[-2:])]
Out[1363]:
a c d
0 1 1 4
1 2 2 5
2 3 3 6
或者也许只是使用.iloc
df.iloc[:,[0,2,3]]
嗯,也许np.r_
df.iloc[:,np.r_[0,-2:0]]
Out[1371]:
a c d
0 1 1 4
1 2 2 5
2 3 3 6