【问题标题】:if looping over a dataframe and creating new columns inside that loop, will it be endless?如果循环一个数据框并在该循环内创建新列,它会是无穷无尽的吗?
【发布时间】:2021-11-06 20:10:38
【问题描述】:

我想遍历一个数据框并操作每一列。说我这样做:

for feature in df:
        df[feature] = df[feature].apply(lambda x: manipulate(x))
        print (str(feature) + ' ready!')

这是否会让我陷入无限循环,因为 python 将遍历所有列,包括新创建的列,或者仅来自我的初始 input-df 的列?

【问题讨论】:

  • 你为什么不试试呢?
  • 我做到了,而且几天后它还在继续。但是我不能排除它仍在运行代码而不是处于无限循环中

标签: pandas dataframe loops iteration


【解决方案1】:

不,这只会遍历数据框中的初始列。示例:

df = pd.DataFrame({ 'x': [1,2,3,4,5], 'y': ['a','b','c','d','e']})

for col in df:
  df[col + '1'] =df[col]

返回:

    x   y   x1  y1
0   1   a   1   a
1   2   b   2   b
2   3   c   3   c
3   4   d   4   d
4   5   e   5   e

【讨论】:

    猜你喜欢
    • 2013-09-23
    • 2015-09-24
    • 2020-08-24
    • 1970-01-01
    • 2013-11-07
    • 1970-01-01
    • 2018-03-16
    • 2020-06-29
    相关资源
    最近更新 更多