【发布时间】:2020-12-31 13:45:08
【问题描述】:
我有一个小的数据框 df,我正在测试一些代码,然后在更大的集合上使用代码
id make price
21 Boss 300
22 LG 400
23 EE 500
24 Orange 750
我正在尝试找到一种方法来确定在插入该值之前该值是否已存在于列中。
此代码 sn-p 有效
newval = 'EE'
for val in df.make:
if val == newval:
print(val)
else:
print('not the val')
然而,这个 sn-p 应该更清楚地识别数据帧的特定列中是否已经存在一个值,但它似乎不起作用,因为它打印“Available to add”,尽管“EE”已经存在于“制作”列。
newval = 'EE'
if newval in df.make:
print('In there already')
else:
print('Available to add')
如果我测试真假
exists = 'EE' in df.make
print(exists)
我得到 False,尽管 'EE' 显然已经在 'make' 列中
为什么我没有得到 True 和 'Available to add'
我确定我遗漏了一些非常简单但看不到的东西。有人能指出我正确的方向吗
【问题讨论】:
-
您是否已经在列表中包含了所有新值?找到设置的差异比循环每个
newval更容易 -
我实际上正在尝试测试一些逻辑以在 API 中的 Post 函数中使用,我可能会定期发送新记录并且不希望该过程允许重复记录..我想我可以看到你建议的意义,但也许我的用例有点具体
-
是的。谢谢。里面有一些 BEN-YO 建议的解决方案
-
我知道,你找到了解决方案很好,但我们应该避免保留重复的问题,请接受问题顶部显示的通知,以便将其标记为 dup