我有一个包含许多列的数据框,例如:
df:
name salary age title
John 100 35 eng
Bill 200 NaN adm
Lena NaN 28 NaN
Jane 120 45 eng
我想替换薪水和年龄中的空值,但是在其他列中没有。我知道我可以这样做:
u = df[['salary', 'age']]
df[['salary', 'age']] = u.fillna(-1)
但这似乎很简洁,因为它涉及复制。有没有更有效的方法来做到这一点?
答案 0 :(得分:7)
试试这个:
doc.Find("td").EachWithBreak(func(i int, s *goquery.Selection) bool {
summary := s.Text()
if summary == "--" {
return false
}
return true
})
答案 1 :(得分:2)
它不是那么美丽,但它有效:
document.addEventListener('DOMContentLoaded', function() {
var element = document.getElementById("sidebar-wrapper");
element.parentNode.removeChild(element);
});
答案 2 :(得分:2)
According to Pandas documentation in 23.3
values = {'salary': -1, 'age': -1}
df = df.fillna(value=values)
答案 3 :(得分:1)
你可以这样做:
df = df.assign(
salary=df.salary.fillna(-1),
age=df.age.fillna(-1),
)
如果你想将它与其他操作链接起来。
答案 4 :(得分:0)
我希望 fillna() 有像 drop() 这样的子集参数,也许应该向 Pandas 发送请求,但我认为这是最干净的版本。
df[["salary", "age"]] = df[["salary", "age"]].fillna(-1)