📜  如何在 Python-Pandas 中迭代数据框组?

📅  最后修改于: 2022-05-13 01:55:26.235000             🧑  作者: Mango

如何在 Python-Pandas 中迭代数据框组?

在本文中,我们将了解如何迭代数据帧所划分的组。因此,让我们看看执行此任务的不同方法。

首先,让我们创建一个数据框:

代码:

Python3
# import pandas library
import pandas as pd
  
# dictionary
dict = {'X': ['A', 'B', 'A', 'B'],
        'Y': [1, 4, 3, 2]}
  
# create a dataframe
df = pd.DataFrame(dict)
  
# show the dataframe
df


Python3
# import pandas library
import pandas as pd
  
# dictionary
dict = {'X': ['A', 'B', 'A', 'B'],
        'Y': [1, 4, 3, 2]}
  
# create a dataframe
df = pd.DataFrame(dict)
  
# group by 'X' column
groups = df.groupby("X")
  
for name, group in groups:
    print(name)
    print(group)
    print("\n")


Python3
# import pandas library
import pandas as pd
  
# dictionary
dict = {'X': ['A', 'B', 'A', 'B'],
        'Y': [1, 4, 3, 2]}
  
# create a dataframe
df = pd.DataFrame(dict)
  
# group by "X" column
groups = df.groupby('X')
  
# extract keys from groups
keys = groups.groups.keys()
  
for i in keys:
    print(groups.get_group(i))
    print('\n')


输出:

数据框

方法一:使用 Dataframe.groupby()

此函数用于根据某些标准将数据分组。

示例:我们将简单地遍历所有创建的组。

Python3

# import pandas library
import pandas as pd
  
# dictionary
dict = {'X': ['A', 'B', 'A', 'B'],
        'Y': [1, 4, 3, 2]}
  
# create a dataframe
df = pd.DataFrame(dict)
  
# group by 'X' column
groups = df.groupby("X")
  
for name, group in groups:
    print(name)
    print(group)
    print("\n")

输出:

按列 x 显示数据组

在上面的示例中,我们根据“X”列进行了分组。由于“X”列下有两个不同的值,所以我们的数据框将分为两组。然后我们的 for 循环将运行 2 次,因为组数为 2。“name”代表组名,“group”代表实际分组的数据帧。

方法二:同时使用Dataframe.groupby()Groupby_object.groups.keys()

Groupby_object.groups.keys() 方法将返回组的键。

示例:我们将遍历键。

Python3

# import pandas library
import pandas as pd
  
# dictionary
dict = {'X': ['A', 'B', 'A', 'B'],
        'Y': [1, 4, 3, 2]}
  
# create a dataframe
df = pd.DataFrame(dict)
  
# group by "X" column
groups = df.groupby('X')
  
# extract keys from groups
keys = groups.groups.keys()
  
for i in keys:
    print(groups.get_group(i))
    print('\n')

输出:

按 x-1 列显示数据组

在上面的示例中,我们将使用函数groups.get_group()来获取所有组。首先,我们将获取组的所有键,然后对其进行迭代,然后为每个键调用get_group()方法。 get_group()方法将返回与键对应的组。