3

I'm referencing a dataframe as follows (Sales is the column name):

total = pd.to_numeric(sales_df.Sales.str.replace("$", "")).sum()

But I don't want Sales to be hard coded, I want a variable to make it dynamic. How is this done?

TIA

0

1 Answer 1

3

You can should index your columns by using square brackets:

df['col_name']

So when you accept the input as a str you can just do:

total = pd.to_numeric(sales_df[user_input_name].str.replace("$", "")).sum() 

Additionally accessing columns as an attribute can lead to ambiguous behaviour. Such as having a column named index and you try to do df.index which may have different values to the column df['index'] or if you had a column named the same as any valid df method like sum or var then this will lead to syntax errors.

So I strongly advise you use square brackets to select columns.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.