如果循环一个数据框并在该循环内创建新列,它会是无穷无尽的吗?
Posted
技术标签:
【中文标题】如果循环一个数据框并在该循环内创建新列,它会是无穷无尽的吗?【英文标题】: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 的列?
【问题讨论】:
你为什么不试试呢? 我做到了,而且几天后它还在继续。但是我不能排除它仍在运行代码而不是处于无限循环中 【参考方案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
【讨论】:
以上是关于如果循环一个数据框并在该循环内创建新列,它会是无穷无尽的吗?的主要内容,如果未能解决你的问题,请参考以下文章