'Python - Can't divide column values

I'm trying to divide each value of a specific column in df_rent dataframe by simply accessing each value and divide by 1000. But it's returning an error and I cannot understand the reason.

Type of the column is float64.

for i in df_rent['distance_new']:
    df_rent[i] = df_rent[i] / 1000
    print(df_rent[i])


Solution 1:[1]

the error is because if you loop over df_rent['distance_new'],the i assigned will be the value of your first cell in 'distance_new', then the second, then the third, it will not be a pointer index. what you should do is rather simple

df_rent['distance_new']/=1000

In case someone doesn't understand, /= operator takes the value, divides by RHS, then replace the LHS value by the result. the LHS can be int, float, or in this case a whole column. this solution also works on multiple column if you slice them correctly, will be something like

df_rent.loc[:,['distance_new','other_col_1','other_col2']]/=1000

Solution 2:[2]

i contains the values iterating in df_rent['distance_new']

eg: if df_rent['distance_new'] = [23, 45, 67] i is iterating on the value 23, then 45 then 67

i is not simplifying to index

also lists need to append the indexes first try using a dictionary to generate keys, lists can only modify existing keys

also post in the values of a sample array so you can communicate your problem better

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1
Solution 2 Osama Belal