使用 .loc 不一致地切片列
Slicing columns with .loc inconsistently
我有一个这样的数据框
df = pd.DataFrame({'a': [1], 'b': [1], 'c': [1], 'd':[1], 'e':[1]})
df
我想 select a,b,c,e
列加上 .loc!
我发现
l=df.loc[:, 'a':'c'].columns.to_list()
l+=['e']
df.loc[:, l]
但是有没有更方便的方法呢?喜欢
df.loc[:, ['a':'c', 'e']]
在实际数据框中,列数比此数据框中多得多。
选项 1:
df2 = df.drop('d', axis=1)
选项 2:
df2 = df.iloc[:, np.r_[0:3, 4]]
选项 3:
df2 = df.filter(regex='[^d]')
选项 4:
df2 = df[list(df.loc[:,'a':'c']) + ['e']]
我有一个这样的数据框
df = pd.DataFrame({'a': [1], 'b': [1], 'c': [1], 'd':[1], 'e':[1]})
df
我想 select a,b,c,e
列加上 .loc!
我发现
l=df.loc[:, 'a':'c'].columns.to_list()
l+=['e']
df.loc[:, l]
但是有没有更方便的方法呢?喜欢
df.loc[:, ['a':'c', 'e']]
在实际数据框中,列数比此数据框中多得多。
选项 1:
df2 = df.drop('d', axis=1)
选项 2:
df2 = df.iloc[:, np.r_[0:3, 4]]
选项 3:
df2 = df.filter(regex='[^d]')
选项 4:
df2 = df[list(df.loc[:,'a':'c']) + ['e']]