使用iloc删除各种列

时间:2017-03-29 19:50:33

标签: pandas indexing

假设我的数据框df1包含一堆列:

Index(['Open', 'High', 'Low', 'Close', 'Volume', 'Adj Close', 'log_return',
   'close_open', 'Daily_Change', '30_Avg_Vol', '20_Avg_Vol', '15_Avg_Vol',
   '9_Avg_Vol', 'changed', 'p_changed', '5days', '7days',
   '7days_10daysAvg', '5_7days_Avg', '-2_before', '-1_before', '0_before',
   '1_before', '2_before', '3_before', '4_before', '5_before', '6_before',
   'Bullish'],
  dtype='object')

我想创建一个新的数据框,保留一些列并删除其他列。我想保留0-13,13-19,19-28列(使用偏移表示法)

我尝试过这些

的变体
x2 =df.iloc[:-5, [0:13,13:19, 19:28 ]]     # meant to edit 13:19 in this line
x2 =df.iloc[:-5, [[0:13],[13:19], [19:28 ]]

但没有运气。我得到syntaxerror

1 个答案:

答案 0 :(得分:2)

使用np.r_

df.iloc[:-5, np.r_[0:13, 13:19, 19:28]]