簡體   English   中英

Pandas - 與數組列的字符串連接

[英]Pandas - String Concatenation with Array column

我正在嘗試從 dataframe 中的兩列創建一個新字符串。 我的一列包含 1 個值。 另一列包含一個數組。 最終結果應該類似於下面的第三列。

  Alpha  Val                Result
0   A    ['1, 2, 3']    ['A1', 'A2', 'A3']

我嘗試過列表理解,但它只返回一個錯誤“只能將 str(不是“list”)連接到 str”

[alpha + val for alpha in df['Alpha'].str.split(",") for val in df['Val'].str.split(",")]

這種類似於 1X3 矩陣的 1X1 矩陣(但連接字符串),但我不確定如何使用 pandas 來實現這一點。

import pandas as pd

df = pd.DataFrame({'Alpha':['A', 'B'],
                  'Val':[['1, 2, 3'], ['4, 5, 6, 7']]})

def newlist(A,B):
    return [A + i.strip() for i in B[0].split(',')]

df['Result'] = df.apply(lambda x: newlist(x.Alpha, x.Val), axis=1)

使用@challasandeep420 提供的數據,我們還可以:

df['Result'] = (df['Val'].str[0].str.split(',').explode().str.strip()
                         .radd(df['Alpha']).groupby(level=0).agg(list))
print(df)

  Alpha           Val            Result
0     A     [1, 2, 3]      [A1, A2, A3]
1     B  [4, 5, 6, 7]  [B4, B5, B6, B7]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM