在for循环中排除数据集的某些列

时间:2019-02-14 23:05:04

标签: python pandas numpy

我目前正在尝试对数据框中的某些列进行计算,这是数据框中所有列的列表。

>>> list(df)
['Time', 'England Apples', 'England Oranges', 'England Pears', 'England Apricots', 'England Watermelons', 'COAL', 'England Price', 'revenue', 'roll_rev_sum', 'roll_qty_sum']

但是在我的for循环中,我不想选择time变量,所以我这样做:

for col in df.columns[1:-1]:

这很好用,但是现在我也不想在计算中包括England Price,换句话说,我不想让它成为for循环中的cols之一

我该如何实现?

谢谢

3 个答案:

答案 0 :(得分:3)

您可以按其名称删除一列(或更多列):

for col in df.columns[1:-1].drop(['England Price']):
   print(col)

答案 1 :(得分:3)

要获取所需列的列表,可以执行

new_cols = [col for col in df.columns if col not in ['Time', 'England Price']]

答案 2 :(得分:0)

以上两者都缺少一些东西

for cols in df.drop(['Times','England Price'],axis=1):
      print(cols)

可以做到