假设我们有一个包含6列的数据框。对于其中3个列的子集,我们希望将3的实例更改为1.您能建议一种优雅的方法吗? 只需写一行如下:
df['A'][df.A == 3] = 1
在我的实际数据中效率低,因为维度要大得多(比如改变200个变量中的50个)。
也许我们可以在这个例子上工作:
df = pd.DataFrame(np.random.randint(0,10,size=(100, 6)), columns=list('ABCDEF'))
我们想要在A,B和C列中更改3到1的值。谢谢。
答案 0 :(得分:0)
您可以遍历列的子集并使用loc
进行分配。
subset cols = ['A', 'B', 'C'] # For example.
for col in subset_cols:
df.loc[df[col] == 3, col] = 1