如何在熊猫转换中引用空单元格

时间:2018-06-27 20:52:55

标签: python excel pandas

我正在尝试编写代码,以使用新列创建一个新的excel文档,该列的值取决于现有数据。具体来说,如果“ Servicer”下的单元格为空,我想要一个新列“ Needs Cleanup?”。在该行中说“是”,否则说“否”。我希望以下代码能够正常工作,但是即使“ Servicer”单元为空,它也会为每一行返回“ No”。我还尝试过使用python值None代替''来获得相同的结果。

filepath = 'C:/Users/jackley/Desktop/'

filename = 'test.xlsx'

df = pd.read_excel(filepath+filename)

df["Needs Cleanup?"]=df["Servicer"].apply(lambda x: "Yes" if x == '' else "No")

df.to_excel(filepath+"test"+filename,index=False)

只要我的if / else语句引用的是在“ Servicer”列中实际显示的值,就可以使用该代码结构为新列创建条件值而不会出现问题。只是当我尝试根据单元格是否为空创建条件语句时,我遇到了这个问题。此代码结构中是否有一种方法可以根据指示的单元格是否为空返回不同的值?

非常感谢任何帮助,在此先感谢

2 个答案:

答案 0 :(得分:0)

这个怎么样?您需要将''替换为np.nan。

df["Needs Cleanup?"]=df["Servicer"].apply(lambda x: "Yes" if x == np.nan else "No")

希望这会有所帮助!

答案 1 :(得分:0)

我仍然不明白为什么建议的答案不起作用,但是我可以通过添加以下代码来解决我的问题:

var result = await _signInManager.ExternalLoginSignInAsync(info.LoginProvider, info.ProviderKey, isPersistent: false, bypassTwoFactor: true);

,然后将我的条件语句更改为:

result.Succeeded

(感谢“代码像个女孩一样”在旧博客中获得了这个答案!)