Python:根据列名称和条件替换数据框架值
问题描述:
假设我们有一个包含6列的数据框。对于其中3列的子集,我们希望将3的实例更改为1.您能否提出一种优雅的方式来实现? 只需写一行像:Python:根据列名称和条件替换数据框架值
df['A'][df.A == 3] = 1
是在我的真实数据低效的,因为尺寸大得多(例如,更改50出来的200个变量)。
也许我们可以在这个例子中工作:
df = pd.DataFrame(np.random.randint(0,10,size=(100, 6)), columns=list('ABCDEF'))
我们想要的3个值改为1列A,B和C.感谢。
答
您可以遍历列的子集并使用loc
进行分配。
subset cols = ['A', 'B', 'C'] # For example.
for col in subset_cols:
df.loc[df[col] == 3, col] = 1
完美,谢谢(upvoted我还没有15分) – JPico6