Python 如何使用一系列值替换基于条件的pd dataframe列中的值?

Python 如何使用一系列值替换基于条件的pd dataframe列中的值?,python,pandas,numpy,dataframe,replace,Python,Pandas,Numpy,Dataframe,Replace,我有一个列名称为“id”的。现在在这一列中,所有的值都应该是1到696的顺序,但是636后面的值是7***之类的,我想替换所有这些值,并将它们放在637到696的范围内。我该怎么做?我尝试替换.loc、where等,但不起作用。简单地说,使用以下命令为顺序整数重新分配id: 干脆 import pandas as pd df = pd.read_csv('input.csv') df['id'] = range(1,len(df)+1) 如果希望从0开始,请执行以下操作: df['id']

我有一个列名称为“id”的。现在在这一列中,所有的值都应该是1到696的顺序,但是636后面的值是7***之类的,我想替换所有这些值,并将它们放在637到696的范围内。我该怎么做?我尝试替换.loc、where等,但不起作用。

简单地说,使用以下命令为顺序整数重新分配id:

干脆

import pandas as pd 

df = pd.read_csv('input.csv')
df['id'] = range(1,len(df)+1)
如果希望从0开始,请执行以下操作:

df['id'] = range(len(df))

您是否可以共享您的代码以及预期的输入和输出?这些被替换的值是否应该遵循一种模式,或者只是在637和696之间随机选择?您是否可以对其所有值应用相同的操作(例如,对其减X?)。如果是这样,您可以尝试以下方法:df[df['id']>636]['id']=df[df['id']>636]['id']-X@CeliusStingher它们的顺序应该是637、638,最多696。@maxi.marufo不能应用相同的操作,X的值对于我想要获得的每个值都是不同的。
df['id'] = range(len(df))