【问题标题】:Python - split dataframes that are contained within a listPython - 拆分列表中包含的数据帧
【发布时间】:2020-11-25 16:59:59
【问题描述】:

我正在从 PDF 中提取表格,并且该页面可以有多个表格。我正在使用 Tika 库进行提取。在这种情况下,输出是包含在一个列表中的 2 个数据帧(即 2 个表) - 请有人分享我如何提取每个数据帧?

对于上下文,每个 df 有 2 列和相同的行数。

例子:

[0   data1  
1    data2
2    data3  
3    data4

0   data10
1   data12
2   data13
3   data14 ]

我想在这里提取第一个df:

0    data1  
1    data2
2    data3  
3    data4

我尝试过这样解析:

df[:3] or df[-1] 

请有人分享我哪里出错了?

【问题讨论】:

  • IIUC:listdict 是存储多个 DataFrame 的适当方式。否则,您将需要手动将每个 DataFrame 实例化为一个变量(例如 df1 = my_list_of_dataframes[0])。

标签: python python-3.x pandas list dataframe


【解决方案1】:

如果它是一个列表,您应该能够对列表进行索引。仔细检查数据存储方式的类型和层次结构。如果没有您显示错误,就很难说出您的问题是什么。但是,您可以这样做:

df = pd.DataFrame({'a': ['gg', 'bb'], 'h': ['ttt', 'sdf']})

list_of_dfs = [df, df]

# get the first dataframe:
list_of_dfs[0]

# If you are trying to combine them into one table (assuming they are of the same form):
df_all = pd.concat(list_of_dfs)

【讨论】:

    【解决方案2】:
    df1 = df.head(4)
    

    将获得前 4 个项目

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-02-01
      • 1970-01-01
      • 2022-01-07
      • 2013-01-24
      • 2023-04-02
      • 1970-01-01
      • 2020-01-18
      • 2020-03-29
      相关资源
      最近更新 更多