<p>最简单的方法是完全分解这些代码:</p>
<pre><code># List of 3 dataframes
table_list = [tablea, tableb, tablec]
# function that cleans 1 dataframe
# This will get applied to each dataframe in table_list
# when the python function map is used AFTER this function
def clean_data(df):
# for loop.
# df[i] will be a different column in df for each iteration
# i iterates througn column names.
for i in df:
# df[i] = will overwrite column i
# df[i].map(lambda x: round(x, 4)) in this case
# does the same thing as df[i].apply(lambda x: round(x, 4))
# in other words, it rounds each element of the column
# and assigns the reformatted column back to the column
df[i] = df[i].map(lambda x: round(x, 4))
# returns the formatted SINGLE dataframe
return df
# I expect this is where the confusion comes from
# this is a python (not pandas) function that applies the
# function clean_df to each item in table_list
# and returns a list of the results.
# map was also used in the clean_df function above. That map was
# a pandas map and not the same function as this map. There do similar
# things, but not exactly.
map(clean_data, table_list)
</code></pre>
<p>希望有帮助。在</p>