Pandas merge_asof / 结合索引和列

问题描述 投票:0回答:0

我有一个包含 5 列的数据框 - 前 4 列是坐标(x1、x2、y2、y1),最后一列是文本。这些数据来自一个名为 pdfminer 的 PDF 文本提取模块。

data_rows = [ [1, 2, 9, 4, 'A'],
              [4, 6, 13, 8, 'B'],
              [9, 10, 17, 12, 'C'] ]

df = pd.DataFrame(data_rows)
df

   0   1   2   3  4
0  1   2   9   4  A
1  4   6  13   8  B
2  9  10  17  12  C

page = df.pivot(index=[0],columns=[3],values=[4])

从列中删除多索引后:

page 
 
3   4    8    12
0               
1    A  NaN  NaN
4  NaN    B  NaN
9  NaN  NaN    C

我遇到挑战的部分是当我需要合并一些行/列时。例如,如果我有以下结构:

3   4    8    9    12
0               
1    A  NaN    D  NaN
4  NaN    B  NaN  NaN
7    E  NaN  NaN  NaN  
9  NaN  NaN    F    C

我正在尝试进行以下操作 - 将列与公差为 1(第 8 列和第 9 列合并)合并,并将行与公差为 2(第 7 行和第 9 行合并)合并

3   4    8    12
0               
1    A    D  NaN
4  NaN    B  NaN  
7    E    F    C  

有没有一种有效的方法来进行这种组合? combine_first 没有公差参数。 merge_asof 有一个公差参数,但似乎只适用于行。提前致谢!

edit:长话短说 - 如何使用公差参数将倒数第二个表转换为最后一个表,以控制要组合的列/行

python pandas pdf pdfminer
© www.soinside.com 2019 - 2024. All rights reserved.