我汇集来自多个来源的数据......特别是反应和反应公式
某些来源同时具有反应名称和公式,而其他来源可能只有公式,例如,请参见示例中的第2行和第3行
如果我有以下数据框:
│ Row │ reaction │ formula │
├─────┼──────────┼─────────┤
│ 1 │ "a" │ 1 │
│ 2 │ "b" │ 2 │
│ 3 │ "" │ 2 │
│ 4 │ "c" │ 3 │
如表所示,第2行和第3行具有相同的反应式,但只有第2行具有反应名称。 我想做的是删除那些具有公式的行,没有名称,但已经存在具有相同公式但具有反应名称的其他地方
即删除那些与第2列(公式)重复的行,如果,将具有的重复行留下反应名称,即反应名称不为空,以便
│ Row │ reaction │ formula │
├─────┼──────────┼─────────┤
│ 1 │ "a" │ 1 │
│ 2 │ "b" │ 2 │
│ 3 │ "c" │ 3 │
答案 0 :(得分:1)
我们说你有:
df = DataFrame(reaction = ["a", "b", "", "c"], formula = [1, 2, 2, 3]);
您可以做的是:
# This index allows you to determine whether or not a reaction is missing:
ind = df[:reaction].!="";
# Then, you filter your DataFrame to remove those entries:
df2=df[ind,:];
编辑:您可以根据需要增加选择器的复杂性,更好地定义ind。