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