使用Pandas groupby連線來自多行的字串
阿新 • • 發佈:2020-10-25
PandasDataframe.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
|
輸出: