在 pandas 中省略空字段的行

omitting row with empty field in pandas

我有一个 pandas 数据框

seq   value
ACCCT   1
ACTGS   2
        3
ACCTC   4

我想省略 seq 列中有空字段的行。 我厌倦了以下但它没有用

   new_frame = pd.DataFrame(columns = design_frame.columns)
   for idx,row in design_frame.iterrows():
          seq = design_frame.ix[idx,'seq']

           if not seq == '':
                   new_row = design_frame.ix[idx,:]
                   new_frame = new_frame.append(new_row,ignore_index = True)


   design_frame = new_frame

如果要删除空行,可以使用 dropna

df.dropna(subset=['seq'])

但是,我认为您没有 NaN 值,而是空字符串 ('')。在那种情况下,您可以执行 df[df['seq']!=''],或者首先将空字符串转换为 NaN 值 (df[df['seq']==''] = np.nan)

在任何情况下,您都应该尽量避免在这种情况下迭代数据框。