如何创建可传入DataFrame名称参数的Python函数?
如何通过参数指定创建的DataFrame名称
你当前的写法不可行,因为函数里的DATAFRAME_NAME只是局部变量,赋值操作只会修改这个局部变量,无法把DataFrame绑定到外部你想要的变量名上。下面是两种符合Python规则的实现方式:
常规推荐写法:函数返回DataFrame,外部自行命名
这是Python里最规范的做法——函数只负责创建并返回DataFrame,调用时你直接把返回值赋值给任意想要的变量名即可:
import pandas as pd list1 = [1,2,3] list2 = [4,5,6] def create_df(list1, list2): lists = zip(list1, list2) return pd.DataFrame(lists, columns=('A', 'B')) # 调用时自定义变量名 my_custom_df = create_df(list1, list2) print(my_custom_df)
进阶写法:用字典存储关联名称与DataFrame
如果需要批量创建多个DataFrame并通过名称管理,可以借助字典实现——把传入的名称作为字典的键,创建好的DataFrame作为对应的值:
import pandas as pd list1 = [1,2,3] list2 = [4,5,6] def create_df_to_dict(list1, list2, df_name, storage_dict): lists = zip(list1, list2) storage_dict[df_name] = pd.DataFrame(lists, columns=('A', 'B')) # 初始化存储用的字典 df_storage = {} # 传入名称,将DataFrame存入字典 create_df_to_dict(list1, list2, "sales_data", df_storage) # 通过名称获取对应的DataFrame print(df_storage["sales_data"])
这种方式避免了直接操作外部变量,更符合Python的作用域规则,也更便于批量管理多个DataFrame。
内容的提问来源于stack exchange,提问作者D EA
相关产品推荐
相关产品推荐

