From 7a95e3dd646cde652b1e40c2027b9e973d755865 Mon Sep 17 00:00:00 2001 From: Bayle Shanks Date: Wed, 21 Dec 2011 14:26:14 -0800 Subject: [PATCH] (1) add a get() method like dicts have, (2) throw KeyError, not Exception, when a column isn't found --- pandas/core/frame.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/pandas/core/frame.py b/pandas/core/frame.py index f0e8de7d40c6c..50af486320d25 100644 --- a/pandas/core/frame.py +++ b/pandas/core/frame.py @@ -1062,7 +1062,7 @@ def _getitem_array(self, key): indexer = self.columns.get_indexer(key) mask = indexer == -1 if mask.any(): - raise Exception("No column(s) named: %s" % str(key[mask])) + raise KeyError("No column(s) named: %s" % str(key[mask])) return self.reindex(columns=key) def _slice(self, slobj, axis=0): @@ -1203,6 +1203,13 @@ def pop(self, item): """ return NDFrame.pop(self, item) + def get(self, column, default=None): + try: + return self[column] + except KeyError: + return default + + # to support old APIs @property def _series(self):