簡體   English   中英

如何在熊貓中基於多個分隔符將列中的數據拆分為多列

[英]how to split the data in a column based on multiple delimiters, into multiple columns, in pandas

我有一個只有一列名為“ALL_category[![在此處輸入圖像描述][1]][1]”的數據框。 一行中有多個名稱,范圍在 1 到 3 之間,並以分隔符“|”、“||”分隔或'|||',可以在每行單詞的開頭、中間或結尾。 我想將該列拆分為多個列,以便新列包含名稱。 我該怎么做?

下面是生成數據框的代碼:

x = {'ALL Categories': ['Rakesh||Ramesh|','||Rajesh|','HARPRIT|||','Tushar||manmit|']}
df = pd.DataFrame(x)

當我使用下面的代碼修改上面的數據框時,它沒有給我任何結果。

data = data.ALL_HOLDS.str.split(r'w', expand = True)

我相信你需要Series.str.extractall如果希望每個單詞分隔列:

df1 = df['ALL Categories'].str.extractall(r'(\w+)')[0].unstack()
print (df1)
match        0       1
0       Rakesh  Ramesh
1       Rajesh     NaN
2      HARPRIT     NaN
3       Tushar  manmit

或者從一個或多個Series.str.stripSeries.str.split的評論中對@Chris A 的代碼進行一些更改|

df1 = df['ALL Categories'].str.strip('|').str.split(r'\|+', expand=True)
print (df1)
         0       1
0   Rakesh  Ramesh
1   Rajesh    None
2  HARPRIT    None
3   Tushar  manmit

暫無
暫無

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

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