猿问

比较 Dataframe 中行的值

我想知道 Dataframe 的两个不同行中的值是否相同。我的 df 看起来像这样:


df['Name1']:

Alex,

Peter,

Herbert,

Seppi,

Huaba


df['Name2']:

Alexander,

peter,

herbert,

Sepp,

huaba

首先我想应用 .rstrip() 和 .toLower(),但这些方法似乎只适用于字符串。我尝试Str(df['Name1']了哪个有效,但比较给了我错误的结果。


我还尝试了以下方法:


    df["Name1"].isin(df["Name2"]).value_counts())

    df["Name1"].eq(df["Name2"]).value_counts())

问题 1:我认为如果找到子字符串.isin也会返回,例如然后返回 true。这不是我要找的。truealex.isin(alexander)


问题2:我认为.eg会为我做。但是我仍然对.rstrip()andto.lower()方法有问题。


计算相同条目数量的最佳方法是什么?


MMTTMM
浏览 138回答 2
2回答

慕尼黑的夜晚无繁华

print (df)     Name1      Name20     Alex  Alexander1    Peter      peter2  Herbert    herbert3    Seppi       Sepp4    Huaba      huaba如果需要比较每一行:out1 = df["Name1"].str.lower().eq(df["Name2"].str.lower()).sum()Name1如果需要通过所有值比较所有值Name2:out2 = df["Name1"].str.lower().isin(df["Name2"].str.lower()).sum()

侃侃无极

使用 set 查找两个数据框列之间的公共值common_values = list(set(df.Name1) & set(df.Name2) )count = len(common_values)
随时随地看视频慕课网APP

相关分类

Python
我要回答