如何在 Pandas Groupby 中将数据帧行分组到列表中?
原文:https://www . geesforgeks . org/如何分组-data frame-row-in-list-in-pandas-group by/
假设你有一个熊猫数据框架,由 2 列组成,我们想对这些列进行分组。在这篇文章中,我们也将讨论同样的问题。第一,让;让我们创建数据帧。
Python 3
# importing pandas as pd
import pandas as pd
# Create the data frame
df = pd.DataFrame({'column1': ['A', 'B', 'C', 'A', 'C',
'C', 'B', 'D', 'D', 'A'],
'column2': [5, 10, 15, 20, 25, 30,
35, 40, 45, 50]})
# Print the dataframe
df
输出:
示例#1: 我们可以在第 1 列使用 groupby() 方法,并应用该方法在每组熊猫数据框上应用一个列表。
Python 3
# importing pandas as pd
import pandas as pd
# Create the data frame
df = pd.DataFrame({'column1': ['A', 'B', 'C', 'A', 'C',
'C', 'B', 'D', 'D', 'A'],
'column2': [5, 10, 15, 20, 25, 30,
35, 40, 45, 50]})
# Use groupby method and apply
# method on the dataframe
df = df.groupby('column1')['column2'].apply(list)
# Print the dataframe again
df
输出:
示例 2: 我们可以使用第 1 列的 groupby()方法和 agg() 方法对每组熊猫数据帧应用聚合,包括 lambda 函数。
Python 3
# importing pandas as pd
import pandas as pd
# Create the dataframe
df = pd.DataFrame({'column1': ['A', 'B', 'C', 'A', 'C',
'C', 'B', 'D', 'D', 'A'],
'column2': [5, 10, 15, 20, 25, 30,
35, 40, 45, 50]})
# Use groupby method and agg method
# with lambda function on the dataframe
df = df.groupby('column1').agg({'column2': lambda x: list(x)})
# Print the dataframe again
df
输出:
示例#3: 我们可以使用第 1 列的 groupby()方法和 agg()方法对每组熊猫数据帧应用聚合列表。
Python 3
# importing pandas as pd
import pandas as pd
# Create the data frame
df = pd.DataFrame({'column1': ['A', 'B', 'C', 'A', 'C',
'C', 'B', 'D', 'D', 'A'],
'column2': [5, 10, 15, 20, 25, 30,
35, 40, 45, 50]})
# Use groupby method and agg method
# with list as argument on the dataframe
df = df.groupby('column1').agg(list)
df
输出:
示例#4: 我们可以在第 1 列使用 groupby()方法,通过传递“ pd 来使用 agg()方法。系列 tolist 作为参数。
Python 3
# importing pandas as pd
import pandas as pd
# Create the data frame
df = pd.DataFrame({'column1': ['A', 'B', 'C', 'A', 'C',
'C', 'B', 'D', 'D', 'A'],
'column2': [5, 10, 15, 20, 25, 30,
35, 40, 45, 50]})
# Use groupby method and agg method with
# pd.Series.tolist as argument on the dataframe
df = df.groupby('column1').agg(pd.Series.tolist)
df
输出:
版权属于:月萌API www.moonapi.com,转载请注明出处