如何在Groupby pandas之后重置索引
Python的groupby()函数是通用的。它被用来根据一些标准将数据分成不同的组,比如mean, median, value_counts,等等。为了在groupby()之后重置索引,我们将使用reset_index()函数。
下面是一些例子,描述了如何在pandas中groupby()之后重置索引:
示例 1
# import required modules
import numpy as np
import pandas as pd
# creating dataframe
df = pd.DataFrame({'Subject': ['Physics',
'Chemistry',
'Maths'],
'Marks': [4, 8, 5]})
# grouping the data on the basis of
# subject and mean of marks.
df_grouped = df.groupby(['Subject']).mean()
# display dataset
df_grouped
输出:
分组数据后重新设置索引,使用reset_index(),它是python提供的一个函数,用来给数据添加索引。
# reset index
df_grouped.reset_index()
输出:
示例 2:
创建DataFrame。
# import required modules
import pandas as pd
import numpy as np
# creating dataframe
df2 = pd.DataFrame({'Student': [1, 2, 3, 4, 1, 3, 2, 4, 1, 2, 4, 3],
'Amount': [
10, 20, 30, 40, 20, 60, 40, 80, 30, 60, 120, 90]})
# grouping the data
df2_group = df2.groupby(['Student'])
# grouped on the basis of students and
# with the value of count of amount
df2_grouped = df2_group['Amount'].value_counts()
# display dataset
print(df2_grouped)
输出:
重置索引。这将给你带来一个错误。
# this will generate an error.
df2_grouped.reset_index()
输出:
命名reset_index()将分组并重置索引。
# resetting index on the basis of count
df2_grouped.reset_index(name = 'count')
输出:
示例 3
这里,是另一个例子,描述了如何在使用_groupby()后重置DataFrame。
# import required modules
import numpy as np
import pandas as pd
# creating dataframe
df = pd.DataFrame({'Subject': ['B',
'C',
'A','D','C','B','A'],
'Marks': [4, 8, 5,9,8,1,0]})
# grouping the data on the basis of
# subject and mean of marks.
df_grouped = df.groupby(['Subject']).mean()
# display dataset
df_grouped
# reset index
df_grouped.reset_index()
输出: