跨文件传递Pandas DataFrame至函数返回None问题求助
解决Python函数返回处理后Pandas DataFrame为None的问题
问题核心:你的
update_df函数缺少显式返回语句。Pandas的update()方法是原地修改DataFrame,不会自动返回新对象,函数如果没有return语句,默认返回None。修复步骤:
- 修改
update_df.py中的函数,添加返回语句:import pandas as pd def update_df(df1, df2): df1.update(df2) print('DF1 is updated') return df1 # 必须显式返回处理后的DataFrame - (可选)如果不想修改原输入的
df1,可以先创建副本再操作,避免影响原数据:def update_df(df1, df2): df_processed = df1.copy() # 创建副本 df_processed.update(df2) print('DF1 is updated') return df_processed - 在
main.py中正常接收返回值即可:import pandas as pd from update_df import update_df df1 = pd.read_csv('file1.csv') df2 = pd.read_csv('file2.csv') df3 = update_df(df1, df2) print(df3) # 现在能正确输出处理后的DataFrame
- 修改
内容的提问来源于stack exchange,提问作者Adi Y
相关产品推荐
相关产品推荐

