I find myself doing repetitive tasks to various [pandas][1] DataFrames, so I made a function to do the processing. How do I modify df in the function process_df(df) so that the caller sees all changes (without assigning a return value)?
A simplified version of the code:
def process_df(df): df.columns = map(str.lower, df.columns) df = pd.DataFrame({'A': [1], 'B': [2]}) process_df(df) print df A B 0 1 2
EDIT new code:
def process_df(df): df = df.loc[:, 'A'] df = pd.DataFrame({'A': [1], 'B': [2]}) process_df(df) print df A B 0 1 2
process_dfcolumn names becomes[a, b]