簡體   English   中英

以第二列作為分隔符拆分 dataframe 列

[英]Split dataframe column with second column as delimiter

我想通過使用同一行中第二列的值將一列拆分為兩列,因此第二列值用作拆分分隔符。

我收到錯誤TypeError: 'Series' objects are mutable, thus they cannot be hashed這使得它接收一個系列,而不是單個值,但我不確定如何隔離到第二列的單行值.

樣本數據:

    title_location                    delimiter
0   Doctor - ABC - Los Angeles, CA    - ABC -
1   Lawyer - ABC - Atlanta, GA        - ABC -
2   Athlete - XYZ - Jacksonville, FL  - XYZ -

代碼:

bigdata[['title', 'location']] = bigdata['title_location'].str.split(bigdata['delimiter'], expand=True)

所需的 output:

    title_location                    delimiter    title    location
0   Doctor - ABC - Los Angeles, CA    - ABC -      Doctor   Los Angeles, CA
1   Lawyer - ABC - Atlanta, GA        - ABC -      Lawyer   Atlanta, GA
2   Athlete - XYZ - Jacksonville, FL  - XYZ -      Athlete  Jacksonville, FL

讓我們試試zip然后再join

df = df.join(pd.DataFrame([x.split(y) for x ,y in zip(df.title_location,df.delimiter)],index=df.index,columns=['Title','Location']))
df
Out[200]: 
                     title_location delimiter     Title           Location
0    Doctor - ABC - Los Angeles, CA   - ABC -   Doctor     Los Angeles, CA
1        Lawyer - ABC - Atlanta, GA   - ABC -   Lawyer         Atlanta, GA
2  Athlete - XYZ - Jacksonville, FL   - XYZ -  Athlete    Jacksonville, FL

嘗試apply

bigdata[['title', 'location']]=bigdata.apply(func=lambda row: row['title_location'].split(row['delimiter']), axis=1, result_type="expand")

暫無
暫無

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

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