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

hts6caw3  于 2023-03-21  发布在  其他
关注(0)|答案(3)|浏览(115)

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

>>> 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之一。
我怎样才能做到这一点?

mu0hgdu0

mu0hgdu01#

您可以按名称删除一个列(甚至更多):

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

nbnkbykc2#

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

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

vd8tlhqk3#

前面的两个答案都缺少一些东西。用途:

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

这个就行了。

相关问题