【问题标题】:Looping through a dataframe (sorry) and checking if the current value exist in the previously looped values循环遍历数据框(对不起)并检查当前值是否存在于先前循环的值中
【发布时间】:2021-10-22 21:18:53
【问题描述】:

我正在遍历一个数据框(抱歉,我知道这并不理想)并且我想检查(在某个点,例如 i=n)“SKU”列上的当前值是否存在于以前的(n-1)个值,所以我尝试了:

if df['SKU'][i] not in df['SKU'][:i-1]:

但它不起作用。 非常感谢任何帮助

【问题讨论】:

  • df['SKU'].duplicated()?
  • 感谢您的评论,但检查列是否有重复不是循环的重点,它只是做不同事情的条件
  • 是但是for i in df['SKU'].duplicated(): if i do_something?
  • 使用.shift(-1)?
  • 嗨@DanailPetrov,你能详细说明一下吗?这对检查 i 处的值是否存在于前 n-1 行中的某个点有用吗?

标签: python pandas dataframe


【解决方案1】:
>>> df.SKU == df.SKU.shift()

【讨论】:

  • 请附上解释。
【解决方案2】:

通过反复试验,我认为我只需要在比较结束时使用 .values,如下所示:

if df['SKU'][i] not in df['SKU'][:i-1].values:

谢谢!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-19
    • 1970-01-01
    • 1970-01-01
    • 2021-11-11
    • 1970-01-01
    相关资源
    最近更新 更多