在 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
)
在任何情况下,您都应该尽量避免在这种情况下迭代数据框。
我有一个 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
)
在任何情况下,您都应该尽量避免在这种情况下迭代数据框。