def test_filter_to_numeric(self):
index = pd.Index(['a', 'b', 'c'], dtype=object)
df = pd.DataFrame({'col1': ['2', '1', '3'],
'col2': ['two', 'one', 'three']},
index=index, dtype=object)
metadata = qiime2.Metadata(df)
obs_df = metadata.filter(column_type='numeric').to_dataframe()
exp_df = pd.DataFrame({'col1': [2, 1, 3]}, dtype=np.int, index=index)
pdt.assert_frame_equal(obs_df, exp_df)
df = pd.DataFrame({'col1': ['2', '1', '3'],
'col2': ['2', '1', 'three'],
'col3': ['4.0', '5.2', '6.9']},
index=index, dtype=object)
metadata = qiime2.Metadata(df)
obs_df = metadata.filter(column_type='numeric').to_dataframe()
exp_df = pd.DataFrame({'col1': [2, 1, 3],
'col3': [4.0, 5.2, 6.9]}, index=index)
pdt.assert_frame_equal(obs_df, exp_df)
self.assertEqual(dict(obs_df.dtypes),
{'col1': np.int, 'col3': np.float})
评论列表
文章目录