在 pandas 数据框中将索引设为组中的第一行
Make index first row in group in pandas dataframe
我想知道是否可以根据索引(该索引的名称)制作每个组的第一行。假设我们有这样一个 df:
dic = {'index_col': ['a','a','a','b','b','b'],'col1': [1, 2, 3, 4, 5, 6]}
df = pd.DataFrame(dic).set_index('index_col')
是否可以将上面的数据框转换为如下所示的数据框?这里发生的事情是索引已被重置,并且对于每个组,第一行是索引名称?
结果是 pandas.Series
;
df_list = []
for label , group in df.groupby('index_col'):
df_list.append(pandas.concat([pandas.Series([label]), group['col1']]))
df_result = pandas.concat(df_list).reset_index(drop=True)
输出;
0 a
1 1
2 2
3 3
4 b
5 4
6 5
7 6
dtype: object
如果需要数据框,请调用 df_result.to_frame()
。
我想知道是否可以根据索引(该索引的名称)制作每个组的第一行。假设我们有这样一个 df:
dic = {'index_col': ['a','a','a','b','b','b'],'col1': [1, 2, 3, 4, 5, 6]}
df = pd.DataFrame(dic).set_index('index_col')
是否可以将上面的数据框转换为如下所示的数据框?这里发生的事情是索引已被重置,并且对于每个组,第一行是索引名称?
结果是 pandas.Series
;
df_list = []
for label , group in df.groupby('index_col'):
df_list.append(pandas.concat([pandas.Series([label]), group['col1']]))
df_result = pandas.concat(df_list).reset_index(drop=True)
输出;
0 a
1 1
2 2
3 3
4 b
5 4
6 5
7 6
dtype: object
如果需要数据框,请调用 df_result.to_frame()
。