我需要在数据框中添加一个列,并用另一个数据框中的值填充它,但我没有在它们之间共享的唯一ID或键或索引。它们有两个共同的标识符,它们之间的每一行都是唯一的,我想在这两列上尝试匹配。
这是一个例子......
Student ID Test Day Student ID Test Day Grade
E0304003 Quiz 1 E0304003 Quiz 1 A
E3305002 Quiz 1 E0303003 Test 2 A
E0303002 Test 1 E0304005 Quiz 2 D
E0304004 Quiz 1 E3306001 Test 1 C
E0301001 Quiz 1 E0301001 Quiz 1 A
E0307002 Test 2 E0307002 Test 2 C
E0303003 Test 2 E0308002 Quiz 2 A
E0304005 Quiz 2 E0301002 Test 2 C
E3306001 Test 1 E3305002 Quiz 1 C
E0308002 Quiz 2 E0303002 Test 1 F
E0301002 Test 2 E0304004 Quiz 1 C
我想在第一组中创建第三列,也是Grade,并且对于与其他数据框中的学生ID和测试日匹配的行包含相同的值。
你可以看到每个集合中的列顺序不匹配,并且在实际数据中会有缺失值,所以我需要它是动态的;它并不像排序和匹配那么简单。
我可以这样做:
For row in df_one:
if df_one["Student ID"] == df_two["Student ID"] and df_one["Test Day"] == df_two["Day"]:
df_one["Grade"] = df_two["Grade"]
else:
df_one["Grade"] = "Unknown"
答案 0 :(得分:1)
对左联接使用merge
,如果某些值不匹配,则$(document).ready(function () {
$.getJSON("/fakturi/getArticles?CompanyID=" + cID, function (data) {
$.each(data, function (i, data) {
$('<option>',
{
value: data.artID,
text: data.artIme
}).html;
});
})
$(function () {
$("[name='artikal']").on("change", function () {
$("#bar").val($(this).val());
});
});
});
替换为fillna
:
NaN