大家好,StackOverflow!我在这里遇到了一些麻烦,我做了一些研究,但我仍然不能做到这一点。我有两列是从数据集中减去的,这两列是“# Externo”和“Nro Envio ML”。
我希望代码的结果只给我“# Externo”中存在的数字,而不是“Nro Envio ML”中的数字
例如:
如果41765931626仅在“# Externo”列中,但不在“Nro Envio ML”中,我想打印该编号。此外,如果“# Externo”中不存在任何不在“Nro Envio ML”中的编号,我想打印一些文本(“无陌生销售”)
这是我试过的代码,抱歉我的英语不好
import numpy as np
df2=df2.dropna(subset=['Unnamed: 13'])
df2 = df2[df2['Unnamed: 13'] != 'Nro. Envío']
df2['Nro Envio ML']=df2['Unnamed: 13']
dfn=df2[["# Externo","Nro Envio ML"]]
dfn1 = dfn[dfn['# Externo'] != dfn['Nro Envio ML']]
dfn1
也可以使用diff,它提供了'Nro Envio ML'上值
2条答案
按热度按时间6uxekuva1#
我会在panda之外使用
set
中内置的python来计算差异。PS:如果你想呆在Pandas里面,你可以用
diff = df.loc[~df["# Externo"].isin(df["Nro Envio ML"]), "# Externo"]
来计算安全差作为一个pd.Series
。bihw5rsg2#
您可以使用Pandas的
~
和isin
。情况1:序列1中的数字,但序列2中的数字不存在
案例2:序列1中没有任何数字,序列2中没有任何数字