From aea005a49a4328cb99f8705d219d10ab48d2e492 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Mon, 10 Feb 2020 11:19:53 -0700 Subject: [PATCH] DEPS: pandas 1 API changes Co-authored-by: Andrew Sanchez --- ci/recipe/meta.yaml | 2 +- q2_types/feature_data/_transformer.py | 10 ++++++---- q2_types/feature_data/tests/test_transformer.py | 2 +- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/ci/recipe/meta.yaml b/ci/recipe/meta.yaml index c898f94f..f0b9debc 100644 --- a/ci/recipe/meta.yaml +++ b/ci/recipe/meta.yaml @@ -21,7 +21,7 @@ requirements: - scikit-bio >=0.5.4 - numpy - blas=*=openblas - - pandas + - pandas >=1 - biom-format >=2.1.5,<2.2.0 - ijson - h5py diff --git a/q2_types/feature_data/_transformer.py b/q2_types/feature_data/_transformer.py index 6063e289..9d299b55 100644 --- a/q2_types/feature_data/_transformer.py +++ b/q2_types/feature_data/_transformer.py @@ -80,13 +80,14 @@ def _taxonomy_formats_to_dataframe(filepath, has_header=None): if df.index.has_duplicates: raise ValueError( "Taxonomy format feature IDs must be unique. The following IDs " - "are duplicated: %s" % ', '.join(df.index.get_duplicates())) + "are duplicated: %s" % + ', '.join(df.index[df.index.duplicated()].unique())) if df.columns.has_duplicates: raise ValueError( "Taxonomy format column names must be unique. The following " "column names are duplicated: %s" % - ', '.join(df.columns.get_duplicates())) + ', '.join(df.columns[df.columns.duplicated()].unique())) df['Taxon'] = df['Taxon'].str.strip() return df @@ -117,13 +118,14 @@ def _dataframe_to_tsv_taxonomy_format(df): if df.index.has_duplicates: raise ValueError( "Taxonomy format feature IDs must be unique. The following IDs " - "are duplicated: %s" % ', '.join(df.index.get_duplicates())) + "are duplicated: %s" % + ', '.join(df.index[df.index.duplicated()].unique())) if df.columns.has_duplicates: raise ValueError( "Taxonomy format column names must be unique. The following " "column names are duplicated: %s" % - ', '.join(df.columns.get_duplicates())) + ', '.join(df.columns[df.columns.duplicated()].unique())) ff = TSVTaxonomyFormat() df.to_csv(str(ff), sep='\t', header=True, index=True) diff --git a/q2_types/feature_data/tests/test_transformer.py b/q2_types/feature_data/tests/test_transformer.py index 14ecf32d..8adbcd4d 100644 --- a/q2_types/feature_data/tests/test_transformer.py +++ b/q2_types/feature_data/tests/test_transformer.py @@ -338,7 +338,7 @@ def test_has_header_with_headerless(self): has_header=True) def test_jagged(self): - with self.assertRaises(pandas.io.common.CParserError): + with self.assertRaises(pandas.io.common.ParserError): _taxonomy_formats_to_dataframe( self.get_data_path(os.path.join('taxonomy', 'jagged.tsv')))