我有一个带有日期列的dataFrame
,有时日期可能会出现两次。
当我写入某个日期时,我想写入具有该日期的最后一行,而不是第一行。
现在我使用:
df.loc[df['date'] == date, columnA] = value
在像这样的 df 的情况下,它将写入索引 1,而不是 2:
date columnA
0 17.4.2022
1 17.5.2022
2 17.5.2022 value #in the case of 17.5 write the data to this row.
3 17.6.2022
如何确保我始终写入最后一个日期,如果有,则写入该日期?
最佳答案
您可以通过Series.duplicated
链接最后一个重复日期
值的掩码:
print (df)
date columnA
0 17.4.2022 8
1 17.5.2022 1
2 17.5.2022 1
2 17.5.2022 1
3 17.6.2022 3
date = '17.5.2022'
df.loc[(df['date'] == date) & ~df['date'].duplicated(keep='last'), 'columnA'] = 100
print (df)
date columnA
0 17.4.2022 8
1 17.5.2022 1
2 17.5.2022 1
2 17.5.2022 100
3 17.6.2022 3
关于python - 如何写入最后一次出现的 loc?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74399314/