我有一个dataframe:
df = pd.DataFrame({
'0': ['FY18', 'Q1', 1500, 1200, 950, 2200],
'1': ['FY18', 'Q2', 2340, 1234, 2000, 1230],
'2': ['FY18', 'Q3', 2130, 2200, 2190, 2210],
'3': ['FY18', 'YearTotal', 1000, 1900, 1500, 1800],
})
我想合并的顶部两行的结构,使其成为索引
我试过:
# Merge the top two rows into a single row
merged_row = pd.concat([df.iloc[0], df.iloc[1]], axis=1)
# Transpose the merged row to make it a single row with all columns
merged_row = merged_row.T
# Replace the first row of the DataFrame with the merged row
df.iloc[0] = merged_row
但是我得到了一个错误
ValueError: Incompatible indexer with DataFrame
此外,我想编辑的标题,使其扭转'Q1'到'1Q'。当列显示“YearTotal "时,还删除”YearTotal“并仅保留”FY18“。最终输出可能如下所示:
df = pd.DataFrame({
'0': ['1Q18', 1500, 1200, 950, 2200],
'1': ['2Q18', 2340, 1234, 2000, 1230],
'2': ['3Q18', 2130, 2200, 2190, 2210],
'3': ['FY18', 1000, 1900, 1500, 1800],
})
2条答案
按热度按时间vnzz0bqm1#
在我看来,没有必要把这个框架换位。你可以用所需的值替换第0行,然后删除第1行:
输出量:
j8ag8udp2#
我建议使用列标题来存储这些信息。
也就是说,你可以使用索引和字符串切片:
输出量: