1. 程式人生 > 實用技巧 >使用Pandas groupby連線來自多行的字串

使用Pandas groupby連線來自多行的字串

PandasDataframe.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

輸出: