pandas 在循环外使用for循环的dataframe输出

mnemlml8  于 2023-05-05  发布在  其他
关注(0)|答案(1)|浏览(255)

基本上,我试图创建两个 Dataframe 进行比较(看看一个 Dataframe 中存在的值在另一个 Dataframe 中丢失)。
使用for循环创建一个dataframe,遍历Google Cloud bucket并列出文件,并使用这些文件名作为第一个dataframe中的列:

for folderName in bucketFolder:
    blob_path = storage_client.list_blobs(bucketName, prefix=folderName)
    for blob in blob_path:
        blob_list = pd.DataFrame((str(blob.name).rsplit("/", 1)[-1]).split())

另一个dataframe是从excel电子表格中阅读文件名列表创建的:

spreadsheet_filenames = pd.DataFrame(pd.read_excel(spreadsheetFile,
                usecols=['Filename']))code here

我想在for循环之外使用dataframe blob_list,这样我就可以使用以下代码将其与spreadsheet_filenames dataframe进行比较:

blob_spreadsheet_matches = blob_list[0].apply(lambda s1: spreadsheet_filenames['Filename'].apply(lambda s2: s1 in s2).any())enter code here

只是不确定如何在for循环之外使用blob_list Dataframe 。

r8uurelv

r8uurelv1#

根据名称blob_list,似乎您期望该变量实际上是一个列表,但它不是。
试试这个:

blob_list = []
for folderName in bucketFolder:
    blob_path = storage_client.list_blobs(bucketName, prefix=folderName)
    for blob in blob_path:
        frame = pd.DataFrame((str(blob.name).rsplit("/", 1)[-1]).split())
        blob_list.append(frame)

相关问题