Intellipaat Back

Explore Courses Blog Tutorials Interview Questions
0 votes
2 views
in Data Science by (50.2k points)
Is there a way to round a single column in pandas without affecting the rest of the dataframe?
 df:      item  value1  value2    0    a 1.12     1.3    1    a 1.50     2.5    2    a 0.10     0.0    3    b 3.30    -1.0    4    b 4.80    -1.0
df.value1.apply(np.round) gives
0    11    22    03    34    55    5
What is the correct way to make data look like this: 
  item  value1  value20    a   1 1.31    a   2 2.52    a   0 0.03    b   3 -1.04    b   5 -1.0

5    c   5 5.0

1 Answer

0 votes
by (107k points)

You implemented the round to the series of values given by df.value1. The return type is thus a Series. You must assign that series back to the dataframe (or another dataframe with the same Index).

Also, there are pandas.Series.round method which is basically a shorthand for pandas.Series.apply(np.round).

In[2]: 

    df.value1 = df.value1.round()

    print df

Out[2]:

    item  value1  value2

    0    a   1 1.3

    1    a   2 2.5

    2    a   0 0.0

    3    b   3 -1.0

    4    b   5 -1.0

31k questions

32.8k answers

501 comments

693 users

Browse Categories

...