使用Pandas groupby连接来自多行的字符串

Pandas Dataframe.groupby()方法用于根据某些条件将数据分为几组。分组的抽象定义是提供标签到组名的映射。

要使用Dataframe.groupby()连接多行中的字符串,请执行以下步骤:

  1. 使用需要连接其属性的Dataframe.groupby()方法对数据进行分组。
  2. 通过使用join函数连接字符串,并使用lambda语句转换该列的值

我们将使用具有2列CSV文件,该文件的内容如下图所示:

示例1:我们将在分支列中具有相同名称的数据进行连接。

  • Python3
filter_none

亮度_4

# import pandas library
import pandas as pd
  
# read csv file
df = pd.read_csv("Book2.csv")
  
# concatenate the string
df['branch'] = df.groupby(['Name'])['branch'].transform(lambda x : ' '.join(x))
  
# drop duplicate data
df = df.drop_duplicates()   
  
# show the dataframe
print(df)

输出:

示例2:我们也可以在多列上执行Pandas groupby。

我们将使用具有3列CSV文件,该文件的内容如下图所示:

在名称和年份列上应用分组依据

  • Python3
filter_none

亮度_4

# import pandas library
import pandas as pd
  
# read a csv file
df = pd.read_csv("Book1.csv")
  
# concatenate the string
df['branch'] = df.groupby(['Name', 'year'])['branch'].transform(
                                              lambda x: ' '.join(x))
  
# drop duplicate data
df = df.drop_duplicates()          
  
# show the dataframe
df

输出:

在多列上分组

原文地址:https://www.cnblogs.com/a00ium/p/13874620.html