我想知道数据框的两个不同行中的值是否相同。 我的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
,如果找到了一个子字符串,例如alex.isin(alexander)
将返回true。这不是我想要的。
问题2:我认为.eg
会为我做。但是我仍然遇到.rstrip()
和to.lower()
方法的问题。
计算相同条目数量的最佳方法是什么?
答案 0 :(得分:1)
使用set查找两个数据框列之间的公用值
common_values = list(set(df.Name1) & set(df.Name2) )
count = len(common_values)
答案 1 :(得分:1)
function PercentageIncreases1()
{
var spreadsheet = SpreadsheetApp.getActive();
var cell1 = spreadsheet.getRange("H5").getValues();
var cell2= spreadsheet.getRange("H6").getValues();
var cell3= spreadsheet.getRange("H7").getValues();
var cell4= spreadsheet.getRange("H8").getValues();
if (cell1[0][0] > 0)
{
if(cell1[0][0] == 10)
{
spreadsheet.getRange("D5").setValue(cell1[0][0]);
spreadsheet.getRange("D6").setValue(cell1[0][0]);
spreadsheet.getRange("D7").setValue(cell1[0][0]);
spreadsheet.getRange("D8").setValue(cell1[0][0]);
}
else
{
}
}
};
如果需要比较每一行:
print (df)
Name1 Name2
0 Alex Alexander
1 Peter peter
2 Herbert herbert
3 Seppi Sepp
4 Huaba huaba
如果需要将out1 = df["Name1"].str.lower().eq(df["Name2"].str.lower()).sum()
的所有值与Name1
的所有值进行比较:
Name2