【发布时间】:2019-11-11 20:03:10
【问题描述】:
我有一个 pandas DataFrame,我想用同一行中另一个列的值替换选择列中的某些值。
我做了以下事情:
df[cols[23:30]] = df[cols[23:30]].apply(lambda x: x.replace(99, df['col1']))
df[cols[30:36]] = df[cols[30:36]].apply(lambda x: x.replace(99, df['col2']))
-
cols是一个包含列名的列表。 - 99 被认为是一个缺失值,我想用给定类的(已经计算的)平均值(即 col1 或 col2,取决于选择)替换它
它有效,但替换所有这些值所需的时间似乎比必要的要长。我认为必须有一种更快(计算上)的方法来实现相同的目标。
有什么建议吗?
【问题讨论】: