Python 数据框中的列不工作
来自中国的后续问题 我已经成功地将一系列ID组合到一个字段中,现在我需要过滤掉没有以组合ID值结束的任何行。通常我会使用notnull,但在这个列上它不起作用。有人能告诉我这个问题吗?谢谢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
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,正如我开始假设的那样。现在,我也可以在输出中看到这一点(我正在写入一个文件,但它仍然显示为空白)。这个!=''工作完美。非常感谢!