diff --git a/.travis.yml b/.travis.yml
index 59c0596a51c52033dd352a0acfd23629dfd3bd3d..3dcd04811102783500209570d7223481bb9aa738 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,7 +1,7 @@
 language: python
 python:
-  - "2.7"
   - "3.6"
+  - "3.7"
 before_install:
   - if [[ "$TRAVIS_PYTHON_VERSION" == "2.7" ]]; then
       wget https://repo.continuum.io/miniconda/Miniconda-latest-Linux-x86_64.sh -O miniconda.sh;
diff --git a/README.md b/README.md
index 1b5991f29c809a76218774b4cd47baec19238570..cc97f4f735e4ec7c91dc27591d0cd411fec1c2f0 100644
--- a/README.md
+++ b/README.md
@@ -8,7 +8,7 @@ prediction package with competitive accuracy and a fast and
 MHCflurry implements class I peptide/MHC binding affinity prediction. By default
 it supports 112 MHC alleles using ensembles of allele-specific models.
 Pan-allele predictors supporting virtually any MHC allele of known sequence
-are available for testing (see below). MHCflurry runs on Python 2.7 and 3.4+ using the
+are available for testing (see below). MHCflurry runs on Python 3.4+ using the
 [keras](https://keras.io) neural network library.
 It exposes [command-line](http://openvax.github.io/mhcflurry/commandline_tutorial.html)
 and [Python library](http://openvax.github.io/mhcflurry/python_tutorial.html)
diff --git a/mhcflurry/class1_affinity_predictor.py b/mhcflurry/class1_affinity_predictor.py
index b6f2d903e42e4c6140443f120c17a9fc6d4d63d2..3c268bb73e9a049704d86ba976d77732843b752a 100644
--- a/mhcflurry/class1_affinity_predictor.py
+++ b/mhcflurry/class1_affinity_predictor.py
@@ -422,7 +422,7 @@ class Class1AffinityPredictor(object):
                 numpy.testing.assert_array_almost_equal(
                     series.index.values,
                     percent_ranks_df.index.values)
-                percent_ranks_df[allele] = series
+                percent_ranks_df[allele] = series.values
             percent_ranks_path = join(models_dir, "percent_ranks.csv")
             percent_ranks_df.to_csv(
                 percent_ranks_path,