2016-04-29 121 views
2

我有一个HC列表,其中每个条目都应该有一个ID,但有些条目没有ID。我想通过组合名字列和姓氏列来填充这些空单元格。 我会怎么做呢?我试图用fillna之类的搜索引擎来搜索,但无法启动它。 我想基本上是这样的:使用其他列的值填充列中的空单元格

If hc["ID"] == "": 
    hc["ID"] = hc["First Name"] + hc["Last Name"] 
+0

难道这些值'NaN的'或者从字面上看是一个空字符串?如果'NaN',那么'hc.loc [hc [“ID”]。isnull(),'ID'] = hc [“First Name”] + hc [“Last Name”]'否则'hc.loc [hc [ “ID”] =='','ID'] = hc [“名字”] + hc [“姓氏”]' – EdChum

回答

2

您可以使用loc和布尔面膜如果NaN则:

hc.loc[hc["ID"].isnull(),'ID'] = hc["First Name"] + hc["Last Name"] 

否则为空字符串:

hc.loc[hc["ID"] == '','ID'] = hc["First Name"] + hc["Last Name"] 
+0

谢谢。它工作完美。我只有一个问题。看起来它实际上是NaN,因为你的第一个解决方案工作。我会猜想他们实际上是空的字符串。我如何辨别空字符串和NaN? – alpenmilch411

+0

你可以做'df ['ID']。isnull()'这将返回一个布尔序列告诉你哪些条目真的是'NaN',同样'df ['ID'] ==''' – EdChum

+0

谢谢你的说明。 – alpenmilch411

相关问题