From 11a32173d12c2d1e0b5faf85ea19f45c7d7f925b Mon Sep 17 00:00:00 2001 From: Cameron Stark Date: Wed, 23 Oct 2019 09:39:17 -0600 Subject: [PATCH 1/5] replace Pandas item() implementation with numpy's using .values --- pvlib/tools.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pvlib/tools.py b/pvlib/tools.py index cbd59a8541..25f42cc972 100644 --- a/pvlib/tools.py +++ b/pvlib/tools.py @@ -212,7 +212,7 @@ def _scalar_out(input): else: # # works if it's a 1 length array and # will throw a ValueError otherwise - output = input.item() + output = input.values.item() return output From 7452e0e638a267d71084163f36839781abe97d3e Mon Sep 17 00:00:00 2001 From: Cameron Stark Date: Wed, 23 Oct 2019 14:51:07 -0600 Subject: [PATCH 2/5] force value to np.ndarray to enable universal use of .item() --- pvlib/tools.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pvlib/tools.py b/pvlib/tools.py index 25f42cc972..dfeb8173f2 100644 --- a/pvlib/tools.py +++ b/pvlib/tools.py @@ -212,7 +212,7 @@ def _scalar_out(input): else: # # works if it's a 1 length array and # will throw a ValueError otherwise - output = input.values.item() + output = np.asarray(input).item() return output From 1dec177a31839074963078b8070a617bdfcbb92a Mon Sep 17 00:00:00 2001 From: Cameron Stark Date: Wed, 23 Oct 2019 17:36:32 -0600 Subject: [PATCH 3/5] rename function parameters to arg instead of input --- pvlib/tools.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/pvlib/tools.py b/pvlib/tools.py index dfeb8173f2..1f8c1b7cbb 100644 --- a/pvlib/tools.py +++ b/pvlib/tools.py @@ -206,22 +206,22 @@ def _datetimelike_scalar_to_datetimeindex(time): return pd.DatetimeIndex([pd.Timestamp(time)]) -def _scalar_out(input): - if np.isscalar(input): - output = input +def _scalar_out(arg): + if np.isscalar(arg): + output = arg else: # # works if it's a 1 length array and # will throw a ValueError otherwise - output = np.asarray(input).item() + output = np.asarray(arg).item() return output -def _array_out(input): - if isinstance(input, pd.Series): - output = input.values +def _array_out(arg): + if isinstance(arg, pd.Series): + output = arg.values else: - output = input + output = arg return output From bc4d4dc6a181540a5c4eda9a3980a7b4a6006b4b Mon Sep 17 00:00:00 2001 From: Cameron Stark Date: Tue, 29 Oct 2019 09:33:14 -0600 Subject: [PATCH 4/5] convert last input to arg --- pvlib/tools.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pvlib/tools.py b/pvlib/tools.py index 5e94620618..3c0eead30e 100644 --- a/pvlib/tools.py +++ b/pvlib/tools.py @@ -213,7 +213,7 @@ def _scalar_out(arg): # works if it's a 1 length array and # will throw a ValueError otherwise - output = np.asarray(input).item() + output = np.asarray(arg).item() return output From 71e66978dc996ed3d4a9462a515dbc7f36c7a930 Mon Sep 17 00:00:00 2001 From: Cameron Stark Date: Wed, 30 Oct 2019 16:13:43 -0600 Subject: [PATCH 5/5] remove extra lines --- pvlib/tools.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/pvlib/tools.py b/pvlib/tools.py index 3c0eead30e..1f8c1b7cbb 100644 --- a/pvlib/tools.py +++ b/pvlib/tools.py @@ -212,10 +212,8 @@ def _scalar_out(arg): else: # # works if it's a 1 length array and # will throw a ValueError otherwise - output = np.asarray(arg).item() - return output