Python 区别于;如“u index=False”所示;,及;重置“U索引()”;熊猫群比

Python 区别于;如“u index=False”所示;,及;重置“U索引()”;熊猫群比,python,pandas,pandas-groupby,Python,Pandas,Pandas Groupby,我只是想知道这两个执行的功能有什么不同 数据: as_index=False: df_group1 = df.groupby("ID").sum().reset_index() 重置索引(): 两者的输出完全相同 ID value 0 A 18 1 B 6 2 C 6 有谁能告诉我两者的区别和说明相同的例子吗?当您使用作为_index=False时,您向groupby()表明您不想将列ID设置为索引(duh!)。当两个实现产生相同的结果时,请使用作为_

我只是想知道这两个执行的功能有什么不同

数据:

as_index=False:

df_group1 = df.groupby("ID").sum().reset_index()
重置索引():

两者的输出完全相同

  ID  value
0  A     18
1  B      6
2  C      6

有谁能告诉我两者的区别和说明相同的例子吗?

当您使用
作为_index=False
时,您向
groupby()
表明您不想将列ID设置为索引(duh!)。当两个实现产生相同的结果时,请使用
作为_index=False
,因为这样可以节省一些键入和不必要的操作;)

但是,有时您希望对组应用更复杂的操作。在这些场合,你可能会发现其中一个比另一个更合适

示例1:您希望将两个轴上一组中三个变量(即列)的值相加

使用
as_index=True
可以对
轴=1
应用求和,而无需指定列的名称,然后对轴0上的值求和。操作完成后,您可以使用
reset\u index(drop=True/False)
以正确的形式获取数据帧

示例2:您需要根据
groupby()
中的列为组设置一个值

设置为_index=False
允许您检查公共列上的条件,而不是索引上的条件,这通常更容易


在对组应用操作时,您可能会遇到
KeyError
。在这种情况下,通常是因为您试图在聚合函数中使用一列,该列当前是GroupBy对象的索引。

当您使用
as_index=False
时,您向
GroupBy()
表明您不想将列ID设置为索引(duh!)。当两个实现产生相同的结果时,请使用
作为_index=False
,因为这样可以节省一些键入和不必要的操作;)

但是,有时您希望对组应用更复杂的操作。在这些场合,你可能会发现其中一个比另一个更合适

示例1:您希望将两个轴上一组中三个变量(即列)的值相加

使用
as_index=True
可以对
轴=1
应用求和,而无需指定列的名称,然后对轴0上的值求和。操作完成后,您可以使用
reset\u index(drop=True/False)
以正确的形式获取数据帧

示例2:您需要根据
groupby()
中的列为组设置一个值

设置为_index=False
允许您检查公共列上的条件,而不是索引上的条件,这通常更容易


在对组应用操作时,您可能会遇到
KeyError
。在这种情况下,这通常是因为您试图在聚合函数中使用一列,该列当前是GroupBy对象的索引。

它们完全相同。@Qusailothman:不,只有在这种特殊情况下,它们是相同的,因为OP的数据帧没有默认索引0,1,2以外的显式索引。。。因此,保留它或重置/删除它并没有什么区别。如果数据帧实际具有索引,例如100、101、102。。结果可能不一样。它们完全一样。@Qusailothman:不,它们只是在这种特殊情况下是一样的,因为OP的数据帧除了默认的0,1,2之外没有显式索引。。。因此,保留它或重置/删除它并没有什么区别。如果数据帧实际具有索引,例如100、101、102。。结果将不一样。
df_group2 = df.groupby("ID", as_index=False).sum()
  ID  value
0  A     18
1  B      6
2  C      6