繁体   English   中英

访问在 python 中的循环外侧生成的数据帧

[英]Accessing a data frame that is generated inside for loop out side of the loop in python

我有一个在 for 循环中生成的数据框。 我正在尝试保存这个数据框,以便我可以在循环之外访问它。 我在下面有一段代码。

my_excel_sample = pd.read_excel(r"mypath\mydata.xlsx",sheet_name=None)

for tabs in my_excel_sample.keys():
    actualData = pd.DataFrame(removeEmptyColumns(my_excel_sample[tabs],0))
    data = replaceNanValues(actualData,0)
    data = renameColumns(data,0)
    data = removeFooters(data,0)
    data.reset_index(drop=True, inplace=True)
    data = pd.DataFrame(RowMerger(data,0))

现在我想在循环之外使用data 谁能帮我解决这个问题?

您正在for循环中迭代地创建多个数据帧并将其存储在变量data中。

您可以将数据框(data)添加到列表中,然后随时访问它们。

尝试这个:

my_excel_sample = pd.read_excel(r"mypath\mydata.xlsx",sheet_name=None)
final_df_list = []

for tabs in my_excel_sample.keys():
    actualData = pd.DataFrame(removeEmptyColumns(my_excel_sample[tabs],0))
    data = replaceNanValues(actualData,0)
    data = renameColumns(data,0)
    data = removeFooters(data,0)
    data.reset_index(drop=True, inplace=True)
    data = pd.DataFrame(RowMerger(data,0))

    final_df_list.append(data)

print(final_df_list)

如果您有任何类型的标识符可用于稍后识别数据帧,我建议您使用字典。 将标识符作为keys ,将变量data作为value

这是一个我以序列号为键的示例:

my_excel_sample = pd.read_excel(r"mypath\mydata.xlsx",sheet_name=None)

final_df_dict = dict()
ind = 0

for tabs in my_excel_sample.keys():
    actualData = pd.DataFrame(removeEmptyColumns(my_excel_sample[tabs],0))
    data = replaceNanValues(actualData,0)
    data = renameColumns(data,0)
    data = removeFooters(data,0)
    data.reset_index(drop=True, inplace=True)
    data = pd.DataFrame(RowMerger(data,0))

    final_df_dict[ind] = data
    ind += 1

print(final_df_dict)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM