我有一个数据帧,我想根据一个条件替换该列中的一些值。我的数据框是这样的
ID customer_name arrival_month leaving_month
1524 ABC 201508 201605
1185 XYZ 201701 201801
8456 IJK 201801 201902
我在尝试一个简单的手术。我想通过currentmount value=201802更改leaving\u month列中的值,其中leaving\u month>;201802。 我试过了。loc,它给出了下面的错误。你知道吗
df.loc[(df['leaving_month'] > 201802)] = 201802
KeyError: 'leaving_month'
我也试过了np.哪里这也给出了一个错误。你知道吗
df['leaving_month']=np.where(df['leaving_month']>currentmonth, currentmonth)
KeyError: 'leaving_month'
我也尝试过暴力循环
for o in range(len(df)):
if(df.loc[o,'leaving_month']>currentmonth):
df.loc[o,'leaving_month']=currentmonth
IndexingError: Too many indexers
有人能给我指出正确的方向,找出我做错了什么,或者提出更好的解决方案吗?这是一个很简单的问题,但不知怎么的,我没能解决。你知道吗
您正在替换整行。相反,用
.loc
设置一个特定的列。请参阅下面解决方案中的第二个索引器。你知道吗退货
您可以在Pandas docs中阅读有关数据帧索引的内容。你知道吗
相关问题 更多 >
编程相关推荐