【问题标题】:How to create a single dataframe from many dataframes in python?如何从 python 中的多个数据帧创建单个数据帧?
【发布时间】:2021-08-21 12:50:48
【问题描述】:

我想从多个文件中创建一个数据框,但它没有按我想要的方式工作。我想垂直合并,但他们正在水平合并创建新列。我不想要那个我怎么能解决这个问题? 这是我的代码:

path = "C:/Users/nb/Desktop/NetworkCharacteristic/"
fi=glob.glob(path+"*")
li=[]
for file in fi:
    files = glob.glob(file + "/*.txt")
for filename in files:
    frame = pd.read_csv(filename, sep='#')
    li.append(frame)
df = pd.concat(li, axis=1)

我从一个文件夹内的许多文件夹中读取文件。我得到了结果:“5 行 × 4440 列”

【问题讨论】:

    标签: python pandas dataframe glob


    【解决方案1】:

    你可以替换这行代码:

    df = pd.concat(li, axis=1)
    

    作者:

    df = pd.concat(li, axis=0, ignore_index=True)
    

    但是,如果您想要一种最严格的方式来做到这一点,我建议:

    import glob
    import pandas as pd
    
    files = glob.glob("C:/Users/nb/Desktop/NetworkCharacteristic/*/*.txt")
    dfs = [pd.read_csv(f, header=None, sep="#") for f in files]
    
    df = pd.concat(dfs, ignore_index=True)
    

    【讨论】:

    • 嗨@Ümran,如果这个或任何答案解决了您的问题,请点击复选标记考虑accepting it。这向更广泛的社区表明您已经找到了解决方案,并为回答者和您自己提供了一些声誉。没有义务这样做。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-24
    • 2022-08-12
    • 1970-01-01
    • 1970-01-01
    • 2022-08-06
    • 1970-01-01
    • 2020-07-01
    相关资源
    最近更新 更多