我有一个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
答案 0 :(得分:4)
如果要删除空行,可以使用dropna
:
df.dropna(subset=['seq'])
但是,我认为您没有NaN
个值,而是空字符串(''
)。在这种情况下,您可以执行df[df['seq']!='']
,或首先将空字符串转换为NaN
值(df[df['seq']==''] = np.nan
)
在任何情况下,您都应该尽量避免在这些情况下迭代数据帧。