使用Python,将Excel中的细胞与不同行中的细胞合并



我正在尝试使用pandas创建一个数据框,但是由于数据集的结构,我有问题。

我的数据集的标题分为两个不同的行。我的问题是试图将这些行合并在一起,每个单元格与下面的单元格合并。

这是我的数据集的样子 -

Client 1     | Client 2
------------ | ------------
Grand Total  | Grand Total
------------ | ------------
$50          | $100

我要做的事情 -

Client 1 Grand Total | Client 2 Grand Total
-------------------- | --------------------
$50                  | $100

我在网上发现的所有内容都谈论将数据合并到单行中,而不是在不同行中合并单元格。

如何使细胞与不同行中的其他单元合并?显然,我正在寻找一个不编辑实际数据集的解决方案。更重要的是,我不必进行硬码标头的解决方案。

您需要从MultiIndex创建columns。如果所有值都是字符串,最简单的是map

df = pd.DataFrame({('Client 1', 'Grand Total'): {0: '$50'}, 
                   ('Client 2', 'Grand Total'): {0: '$100'}})
print (df)
     Client 1    Client 2
  Grand Total Grand Total
0         $50        $100
print (df.columns)
MultiIndex(levels=[['Client 1', 'Client 2'], ['Grand Total']],
           labels=[[0, 1], [0, 0]])
df.columns = df.columns.map(' '.join)
print (df)
  Client 1 Grand Total Client 2 Grand Total
0                  $50                 $100

print (df.columns.tolist())
['Client 1 Grand Total', 'Client 2 Grand Total']

最新更新