Skip to content

Commit 7754985

Browse files
committed
REF: deprecate nanRep in favor of na_rep, GH #275
1 parent 196acb8 commit 7754985

File tree

4 files changed

+37
-18
lines changed

4 files changed

+37
-18
lines changed

pandas/core/common.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -356,11 +356,11 @@ def set_printoptions(precision=None, column_space=None):
356356
_float_format = lambda x: '%.4g' % x
357357
_column_space = 12
358358

359-
def _pfixed(s, space, nanRep=None, float_format=None):
359+
def _pfixed(s, space, na_rep=None, float_format=None):
360360
if isinstance(s, float):
361-
if nanRep is not None and isnull(s):
361+
if na_rep is not None and isnull(s):
362362
if np.isnan(s):
363-
s = nanRep
363+
s = na_rep
364364
return (' %s' % s).ljust(space)
365365

366366
if float_format:
@@ -386,11 +386,11 @@ def _stringify(col):
386386
else:
387387
return '%s' % col
388388

389-
def _format(s, nanRep=None, float_format=None):
389+
def _format(s, na_rep=None, float_format=None):
390390
if isinstance(s, float):
391-
if nanRep is not None and isnull(s):
391+
if na_rep is not None and isnull(s):
392392
if np.isnan(s):
393-
s = nanRep
393+
s = na_rep
394394
return ' %s' % s
395395

396396
if float_format:

pandas/core/frame.py

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -468,8 +468,9 @@ def to_sparse(self, fill_value=None, kind='block'):
468468
default_kind=kind,
469469
default_fill_value=fill_value)
470470

471-
def to_csv(self, path, nanRep='', cols=None, header=True,
472-
index=True, index_label=None, mode='w', delimiter=","):
471+
def to_csv(self, path, na_rep='', cols=None, header=True,
472+
index=True, index_label=None, mode='w', delimiter=",",
473+
nanRep=None):
473474
"""
474475
Write DataFrame to a comma-separated values (csv) file
475476
@@ -495,6 +496,12 @@ def to_csv(self, path, nanRep='', cols=None, header=True,
495496
f = open(path, mode)
496497
csvout = csv.writer(f, lineterminator='\n', delimiter=delimiter)
497498

499+
if nanRep is not None: # pragma: no cover
500+
import warnings
501+
warnings.warn("nanRep is deprecated, use na_rep",
502+
FutureWarning)
503+
na_rep = nanRep
504+
498505
if cols is None:
499506
cols = self.columns
500507

@@ -532,7 +539,7 @@ def to_csv(self, path, nanRep='', cols=None, header=True,
532539
for i, col in enumerate(cols):
533540
val = series[col].get(idx)
534541
if isnull(val):
535-
val = nanRep
542+
val = na_rep
536543

537544
row_fields.append(val)
538545

@@ -541,22 +548,28 @@ def to_csv(self, path, nanRep='', cols=None, header=True,
541548
f.close()
542549

543550
def to_string(self, buf=None, columns=None, colSpace=None,
544-
nanRep='NaN', formatters=None, float_format=None,
545-
sparsify=True):
551+
na_rep='NaN', formatters=None, float_format=None,
552+
sparsify=True, nanRep=None):
546553
from pandas.core.common import _format, adjoin
547554

555+
if nanRep is not None: # pragma: no cover
556+
import warnings
557+
warnings.warn("nanRep is deprecated, use na_rep",
558+
FutureWarning)
559+
na_rep = nanRep
560+
548561
return_ = False
549562
if buf is None: # pragma: no cover
550563
buf = StringIO()
551564
return_ = True
552565

553566
if colSpace is None:
554567
def _myformat(v):
555-
return _format(v, nanRep=nanRep,
568+
return _format(v, na_rep=na_rep,
556569
float_format=float_format)
557570
else:
558571
def _myformat(v):
559-
return _pfixed(v, colSpace, nanRep=nanRep,
572+
return _pfixed(v, colSpace, na_rep=na_rep,
560573
float_format=float_format)
561574

562575
if formatters is None:

pandas/core/series.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -383,14 +383,20 @@ def _tidy_repr(self, max_vals=20):
383383
result = '%s\nName: %s, Length: %d' % (result, self.name, len(self))
384384
return result
385385

386-
def to_string(self, buf=None, nanRep='NaN'):
387-
the_repr = self._get_repr(nanRep=nanRep)
386+
def to_string(self, buf=None, na_rep='NaN', nanRep=None):
387+
if nanRep is not None: # pragma: no cover
388+
import warnings
389+
warnings.warn("nanRep is deprecated, use na_rep",
390+
FutureWarning)
391+
na_rep = nanRep
392+
393+
the_repr = self._get_repr(na_rep=na_rep)
388394
if buf is None:
389395
return the_repr
390396
else:
391397
print >> buf, the_repr
392398

393-
def _get_repr(self, name=False, nanRep='NaN'):
399+
def _get_repr(self, name=False, na_rep='NaN'):
394400
vals = self.values
395401
index = self.index
396402

@@ -400,7 +406,7 @@ def _get_repr(self, name=False, nanRep='NaN'):
400406

401407
def _format_float(k, v):
402408
if np.isnan(v):
403-
v = nanRep
409+
v = na_rep
404410
else:
405411
v = str(v)
406412
return '%s %s' % (str(k).ljust(padSpace), v)

pandas/tests/test_frame.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1626,7 +1626,7 @@ def test_to_csv_float32_nanrep(self):
16261626
df[1] = np.nan
16271627

16281628
pth = '__tmp__.csv'
1629-
df.to_csv(pth, nanRep=999)
1629+
df.to_csv(pth, na_rep=999)
16301630

16311631
lines = open(pth).readlines()
16321632
self.assert_(lines[1].split(',')[2] == '999')

0 commit comments

Comments
 (0)