Skip to content

Original numpy array getting altered when changes made to dataframe  #14953

Closed
@VathsalaAchar

Description

@VathsalaAchar

Code Sample

a = np.array([1,2,3, np.nan])
b = pd.DataFrame(a)
b.fillna(4, inplace=True)
print b
print a

Output

     0
0  1.0
1  2.0
2  3.0
3  4.0
[ 1.  2.  3.  4.]

Problem description

When a dataframe is created from a numpy array the changes to the dataframe are altering the original numpy array. I did not expect this to happen and I'm not sure if this is an expected behaviour or a known issue.

I do know how to work around this, but my question is whether I have to.

Expected Output

     0
0  1.0
1  2.0
2  3.0
3  4.0
[  1.   2.   3.  nan]

Output of pd.show_versions()

INSTALLED VERSIONS

commit: None
python: 2.7.12.final.0
python-bits: 64
OS: Linux
OS-release: 4.4.8-040408-generic
machine: x86_64
processor: x86_64
byteorder: little
LC_ALL: None
LANG: en_GB.UTF-8

pandas: 0.18.0
nose: 1.3.7
pip: 8.1.1
setuptools: 20.3
Cython: 0.23.4
numpy: 1.10.4
scipy: 0.17.0
statsmodels: 0.6.1
xarray: None
IPython: 4.1.2
sphinx: 1.3.5
patsy: 0.4.0
dateutil: 2.5.1
pytz: 2016.6.1
blosc: None
bottleneck: 1.0.0
tables: 3.2.2
numexpr: 2.5
matplotlib: 1.5.1
openpyxl: 2.3.2
xlrd: 0.9.4
xlwt: 1.0.0
xlsxwriter: 0.8.4
lxml: 3.6.0
bs4: 4.4.1
html5lib: None
httplib2: None
apiclient: None
sqlalchemy: 1.0.12
pymysql: None
psycopg2: None
jinja2: 2.8
boto: 2.40.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    Compatpandas objects compatability with Numpy or Python functionsDtype ConversionsUnexpected or buggy dtype conversionsUsage Question

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions