Pandas Dataframe.groupby()方法用于根据某些条件将数据分为几组。分组的抽象定义是提供标签到组名的映射。
要使用Dataframe.groupby()连接多行中的字符串,请执行以下步骤:
- 使用需要连接其属性的Dataframe.groupby()方法对数据进行分组。
- 通过使用join函数连接字符串,并使用lambda语句转换该列的值。
我们将使用具有2列的CSV文件,该文件的内容如下图所示:
示例1:我们将在分支列中具有相同名称的数据进行连接。
- Python3
# 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
# 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 |
输出: