【问题标题】:Read multiple dataframes (chunks) from a file in pandas从熊猫文件中读取多个数据帧(块)
【发布时间】:2022-12-21 17:00:04
【问题描述】:

我想用 read_fwf 读取 pandas 中的文件,但该文件有多个块。我在阅读时知道 chunksize 选项,但是它将文件分成多个块。但是,我想从一个已经包含多个块的文件中读取。我希望将块保存在不同的变量中,如 df1df2 等。

对于每个块,该文件还有一个标题来确定下一个块的开始。该文件具有以下格式。

a    b    c    d            // chunk 1
1    2    3    4
2    3    4    5
a    b    c    d            // chunk 2
3    9    1    4

一种可能不太有效的方法是将文件拆分为多个文件,然后将它们作为 pandas Dataframe 分别读取,但必须有一种有效的方法来做到这一点吗?

该文件本身很小,因此读取整个文件不是问题。

【问题讨论】:

    标签: python pandas dataframe


    【解决方案1】:

    您可以从所有值创建 DataFrame,然后按具有匹配列名的组拆分:

    m = df.eq(df.columns).all(axis=1)
    dfs = {k: v for k, v in df[~m].groupby(m.cumsum())}
    print (dfs)
    {0:    a  b  c  d
    0  1  2  3  4
    1  2  3  4  5, 1:    a  b  c  d
    3  3  9  1  4}
    

    【讨论】:

      猜你喜欢
      • 2018-02-17
      • 2018-01-05
      • 2020-06-16
      • 1970-01-01
      • 2019-10-09
      • 2017-10-15
      • 1970-01-01
      • 1970-01-01
      • 2012-05-19
      相关资源
      最近更新 更多