Lau*_*ura 2 python dataframe pandas
考虑到这个 Pandas DataFrame df:
A B C D E F
0
1
2
Run Code Online (Sandbox Code Playgroud)
使用 .loc 方法,我可以选择这样的特定列:
df.loc[:, ['A','B','E']]
Run Code Online (Sandbox Code Playgroud)
或者我可以切片一些列,如:
df.loc[:,'B':'E']
Run Code Online (Sandbox Code Playgroud)
我的问题是?这种方法可以允许结合这两个选项吗?例如选择第一列并切片其他列?我试过了:
df.loc[:,['A','D':'F']]
Run Code Online (Sandbox Code Playgroud)
用于选择 A、D、E、F 列。
哪个是正确的语法?
您本身不能使用带有 的标签来执行此操作loc,但您可以使用位置和np.r_+ iloc(这是最接近的解决方法)来执行此操作。
f = df.columns.get_loc
df.iloc[:, np.r_[f('A'), f('D'):f('F')]]
A D E
0 NaN NaN NaN
1 NaN NaN NaN
2 NaN NaN NaN
Run Code Online (Sandbox Code Playgroud)
这是假设您的列名是唯一的。
你可以简单地使用 join
df[['A']].join(df.loc[:, 'D':'F'])
Run Code Online (Sandbox Code Playgroud)
输出:
A D E F
Run Code Online (Sandbox Code Playgroud)