Skip to content

Series constructor ignores copy=True when dtype agrees #15125

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
adbull opened this issue Jan 13, 2017 · 2 comments
Closed

Series constructor ignores copy=True when dtype agrees #15125

adbull opened this issue Jan 13, 2017 · 2 comments
Labels
Bug Dtype Conversions Unexpected or buggy dtype conversions Reshaping Concat, Merge/Join, Stack/Unstack, Explode
Milestone

Comments

@adbull
Copy link
Contributor

adbull commented Jan 13, 2017

Code Sample

>>> %paste
import pandas as pd

x = pd.Series([1.0])
y = pd.Series(x, copy=True)
z = pd.Series(x, copy=True, dtype=float)

x[0] = 2.0
print(x[0])
print(y[0])
print(z[0])
## -- End pasted text --
2.0
1.0
2.0

Problem description

Constructing a Series with copy=True should return a copy of the original, but when the dtype argument agrees with the source dtype, no copy is performed.

Expected Output

2.0
1.0
1.0

Output of pd.show_versions()

commit: None python: 3.5.2.final.0 python-bits: 64 OS: Linux OS-release: 4.1.13-100.fc21.x86_64 machine: x86_64 processor: x86_64 byteorder: little LC_ALL: C LANG: C LOCALE: None.None

pandas: 0.19.2
nose: 1.3.7
pip: 9.0.1
setuptools: 27.2.0
Cython: 0.25.1
numpy: 1.11.2
scipy: 0.18.1
statsmodels: 0.6.1
xarray: None
IPython: 4.2.0
sphinx: 1.4.8
patsy: 0.4.1
dateutil: 2.5.3
pytz: 2016.7
blosc: None
bottleneck: 1.1.0
tables: 3.3.0
numexpr: 2.6.1
matplotlib: 1.5.3
openpyxl: 2.4.0
xlrd: 1.0.0
xlwt: 1.1.2
xlsxwriter: 0.9.3
lxml: 3.6.4
bs4: 4.5.1
html5lib: None
httplib2: None
apiclient: None
sqlalchemy: 1.1.3
pymysql: None
psycopg2: None
jinja2: 2.8
boto: 2.43.0
pandas_datareader: None

@jreback
Copy link
Contributor

jreback commented Jan 13, 2017

We only seem to have a single test for copy=True and dtype= (and that's for actually changing a dtype. So yes I agree this should copy.

want to do a PR? (tests are in tests/series/test_constructor).

@jreback jreback added Bug Dtype Conversions Unexpected or buggy dtype conversions Reshaping Concat, Merge/Join, Stack/Unstack, Explode labels Jan 13, 2017
@jreback jreback added this to the 0.20.0 milestone Jan 13, 2017
@rouzazari
Copy link
Contributor

I have a working fix for this. I'll submit a PR shortly.

rouzazari added a commit to rouzazari/pandas that referenced this issue Jan 13, 2017
Updates Series constructor to include copy argument when dtype argument
is also provided. Adds tests for copy parameter.

xref pandas-dev#15125
rouzazari added a commit to rouzazari/pandas that referenced this issue Jan 13, 2017
Updates Series constructor to include copy argument when dtype argument
is also provided. Adds tests for copy parameter.

xref pandas-dev#15125
rouzazari added a commit to rouzazari/pandas that referenced this issue Jan 14, 2017
Updates Series constructor to include copy argument when dtype argument
is also provided. Adds tests for copy parameter.

xref pandas-dev#15125
AnkurDedania pushed a commit to AnkurDedania/pandas that referenced this issue Mar 21, 2017
Updates Series constructor to include copy argument when dtype
argument is also provided.

closes pandas-dev#15125

Author: Rouz Azari <[email protected]>

Closes pandas-dev#15128 from rouzazari/series_dtype_param_no_side_effects_when_copy_true and squashes the following commits:

7b0c959 [Rouz Azari] BUG: Fix Series constructor when copy=True
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Dtype Conversions Unexpected or buggy dtype conversions Reshaping Concat, Merge/Join, Stack/Unstack, Explode
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants