Pandas 基于padna中的其他列值(不连续)删除一列的值

Pandas 基于padna中的其他列值(不连续)删除一列的值,pandas,dataframe,pandas-groupby,Pandas,Dataframe,Pandas Groupby,我有熊猫数据框,如下所示 科鲁阿 科鲁布 科鲁克 1470 31 687 楠 51 689 楠 85 690 1470 78 691 楠 64 692 楠 78 693 楠 45 694 1471 87 697 ,这也不清楚,请多花些时间看看如何创建和编辑您的问题,您可以参考第二次编辑。希望这一点现在应该是清楚的谢谢你,但这仍然是一个图像,我链接你的链接将帮助你创建一个最小的和可复制的例子,它可能在一开始看起来势不可挡,但我相信这将有助于你在当前和未来的问题提供一个,与代码,数据,错误,当前输出

我有熊猫数据框,如下所示

科鲁阿 科鲁布 科鲁克 1470 31 687 楠 51 689 楠 85 690 1470 78 691 楠 64 692 楠 78 693 楠 45 694 1471 87 697
,这也不清楚,请多花些时间看看如何创建和编辑您的问题,您可以参考第二次编辑。希望这一点现在应该是清楚的谢谢你,但这仍然是一个图像,我链接你的链接将帮助你创建一个最小的和可复制的例子,它可能在一开始看起来势不可挡,但我相信这将有助于你在当前和未来的问题提供一个,与代码,数据,错误,当前输出,和预期输出,作为文本,而不是截图,因为。这个问题很可能会被否决并结束。您不希望获得帮助,因为没有人想重新键入您的数据或代码,而且屏幕截图通常难以辨认。回答问题并添加文本。谢谢您的回答。但我不需要新的D列。我只需要将C列中的所有值设为null,其中a列之间的两个值不同。我以前的回答是基于以错误顺序显示的图片。请参阅更新的答案@Evangelos Con,在您的代码中,我没有发现您检查的任何条件,其中列中的两个值(例如,1470和1471不同)。根据A中的两个不同值,C中的相应值将为“null”。似乎您硬编码了C列中第127行和第142行之间的值,但这不是我想要的情况。如果您能仔细查看,C列中的值是相同的,而A列中的两个值(1470和1470是相同的)请参阅更新的答案
df.loc[(df['C']<142) & (df['C']>=127), 'C'] = pd.np.nan
value0 = df.loc[0, 'A']
idx0 = 0
toMissing = []

for i in df.index:
   value1 = df.loc[i, 'A']
   if (pd.isna(value1)==False) & (value1 != value0):
       toMissing.extend([w for w in range(idx0+1, i)])
       value0 = value1
       idx0=i
   elif (value1 == value0):
       idx0 = i

df.loc[toMissing, 'C'] = pd.np.nan