I have a heterogenous Pandas DataFrame - columns are a mix of data types. I only want to subtract the values in one of the integer columns for all rows by a fixed constant. That's it, and it's that simple. But I keep running into SettingWithCopyWarning
.
Take a DataFrame of two columns. The first is of integer, and the second is of string:
df = pd.DataFrame({"a":[10,20,30] , "b":["x","y","z"]})
I want to subtract one from each cell in column "a", so the returning Dataframe would be:
a b
9 x
19 y
29 z
I've tried so many examples, and 9/10 (for want of a better word), don't even inform the Reader that their example will result in a SettingWithCopyWarning warning.
CodePudding user response:
df = df.assign(a=df['a'].sub(1))