You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi all,
I can't find any documentation that says this should happen, so I think it's a bug. But maybe something's happening that I don't understand. When I do a simple operation (adding 1 to a slice), suddenly the dtype of the columns changes from uint32 to int64.
Any ideas why this is happening? Bug?
Thanks
Make a sample dataframe. Columns are dtype uint32.
In [1]: import pandas as pd
In [2]: df = pd.DataFrame({'a':[0, 1, 1], 'b':[100, 200, 300]}, dtype='uint32')
In [3]: df.info()
<class 'pandas.core.frame.DataFrame'>
Int64Index: 3 entries, 0 to 2
Data columns (total 2 columns):
a 3 non-null uint32
b 3 non-null uint32
dtypes: uint32(2)
memory usage: 48.0 bytes
Take a slice of a column. Adding 1 to that slice still results in dtype uint32.
In [4]: ix = df['a'] == 1
In [5]: z = df.loc[ix, 'b']
In [6]: z + 1
Out[6]:
1 201
2 301
Name: b, dtype: uint32
But, if I modify that slice in the original dataframe, suddenly both columns of the dataframe are int64.
In [7]: df.loc[ix, 'b'] = z + 1
In [8]: df.info()
<class 'pandas.core.frame.DataFrame'>
Int64Index: 3 entries, 0 to 2
Data columns (total 2 columns):
a 3 non-null int64
b 3 non-null int64
dtypes: int64(2)
memory usage: 72.0 bytes
I've seen this in 0.16, 0.16.1, and 0.16.2.
In [9]: pd.__version__
Out[9]: '0.16.2'
The text was updated successfully, but these errors were encountered:
Hi all,
I can't find any documentation that says this should happen, so I think it's a bug. But maybe something's happening that I don't understand. When I do a simple operation (adding 1 to a slice), suddenly the dtype of the columns changes from uint32 to int64.
Any ideas why this is happening? Bug?
Thanks
Make a sample dataframe. Columns are dtype uint32.
Take a slice of a column. Adding 1 to that slice still results in dtype uint32.
But, if I modify that slice in the original dataframe, suddenly both columns of the dataframe are int64.
I've seen this in 0.16, 0.16.1, and 0.16.2.
The text was updated successfully, but these errors were encountered: