Python 在数据帧中的每个分组之间插入一个空行,但仅显示第一个标题
@jezrael提供的以下代码为每个分组显示一个空行和一个标题Python 在数据帧中的每个分组之间插入一个空行,但仅显示第一个标题,python,pandas,pandas-groupby,Python,Pandas,Pandas Groupby,@jezrael提供的以下代码为每个分组显示一个空行和一个标题 data = { 'MARKET_SECTOR_DES':['A','A','B','B','B','B'], 'count':[10,9,20,19,18,17] } df = pd.DataFrame(data) print(df) print("") # retrieve column headers df2 = pd.DataFrame([[''] * le
data = {
'MARKET_SECTOR_DES':['A','A','B','B','B','B'],
'count':[10,9,20,19,18,17]
}
df = pd.DataFrame(data)
print(df)
print("")
# retrieve column headers
df2 = pd.DataFrame([[''] * len(df.columns), df.columns], columns=df.columns)
# For each grouping Apply insert headers
df1 = (df.groupby('MARKET_SECTOR_DES', group_keys=False)
.apply(lambda d: d.append(df2))
.iloc[:-2]
.reset_index(drop=True))
print(df1)
输出:
MARKET_SECTOR_DES count
0 A 10
1 A 9
2
3 MARKET_SECTOR_DES count
4 B 20
5 B 19
6 B 18
7 B 17
期望输出:
MARKET_SECTOR_DES count
0 A 10
1 A 9
4 B 20
5 B 19
6 B 18
7 B 17
因此,只有顶部的单个标题。将
df2
更改为
df2 = pd.DataFrame([[''] * len(df.columns)], columns=df.columns)
将您的
df2
更改为
df2 = pd.DataFrame([[''] * len(df.columns)], columns=df.columns)