Python 数据框中的列不工作

Python 数据框中的列不工作,python,pandas,Python,Pandas,来自中国的后续问题 我已经成功地将一系列ID组合到一个字段中,现在我需要过滤掉没有以组合ID值结束的任何行。通常我会使用notnull,但在这个列上它不起作用。有人能告诉我这个问题吗?谢谢 df_merged['Combined_ID'] = df_merged[['ID1','ID2','ID3','ID4','ID5']].apply(lambda x : ''.join([e for e in x if isinstance(e, basestring)]), axis=1) #Re

来自中国的后续问题

我已经成功地将一系列ID组合到一个字段中,现在我需要过滤掉没有以组合ID值结束的任何行。通常我会使用notnull,但在这个列上它不起作用。有人能告诉我这个问题吗?谢谢

df_merged['Combined_ID']  = df_merged[['ID1','ID2','ID3','ID4','ID5']].apply(lambda x : ''.join([e for e in x if isinstance(e, basestring)]), axis=1)

#Remove any rows that do not have an ID in the new field
#This is not removing the rows that do not have a combined ID value
df_merged = df_merged[pd.notnull(df_merged['Combined_ID'])]

此列永远不会为null。如果行中的每一项都不是基字符串,则函数返回
'

因此,应采取以下措施:

df_merged = df_merged[df_merged['Combined_ID'] != '']

是否确实缺少的行值确实为空?你的代码应该可以工作,但是系列有一个可用的
notnull()
方法,你可以试试:
df\u merged=df\u merged[df\u merged['Combined\u ID'].notnull()]
啊,是的,你是正确的Andy和Ed,正如我开始假设的那样。现在,我也可以在输出中看到这一点(我正在写入一个文件,但它仍然显示为空白)。这个!=''工作完美。非常感谢!