我尝试使用Pandas创建数据框,但由于数据集的结构,我遇到了问题。
我的数据集标题分为两个不同的行。我的问题是尝试将这些行合并在一起,让每个单元格与其下面的单元格合并。
这是我的数据集的示例 -
Client 1 | Client 2
------------ | ------------
Grand Total | Grand Total
------------ | ------------
$50 | $100
我想做的事情 -
Client 1 Grand Total | Client 2 Grand Total
-------------------- | --------------------
$50 | $100
我在网上找到的所有内容都谈到将多行数据合并到一行,而不是将不同行中的单元合并。
如何让单元格与不同行中的其他单元格合并?我显然在寻找一个我不编辑实际数据集的解决方案。更重要的是,我不需要对标题进行硬编码的解决方案。
答案 0 :(得分:0)
您需要从columns
创建MultiIndex
。如果所有值都是字符串,则最简单的是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']