我正在尝试使用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']