簡體   English   中英

將數據從一列分為三列

[英]Separate data from one column into three columns

我在excel中有一列,其中包含名字,姓氏和職務的混合。 唯一可以觀察到的模式是-在每三行中,第一行是名字,第二行是姓氏,第三行是職位。 我想創建3個不同的列,並隔離此數據示例數據:

John
Bush
Manager
Katrina
Cohn
Secretary 

我想要:John,Bush,Manager作為一行,分別在First Name,Last name和Job title下的三個不同的列中。 喜歡 -

First Name   Last Name    Job Title
John         Bush         Manager
Katrina      Cohn         Secretary 

我們如何完成這項任務?

您可以使用此表示法來獲取每三個具有不同起點的元素。

l = ['John', 'Bush', 'Manager', 'Katrina', 'Cohn', 'Secretary']

pd.DataFrame({'First Name': l[::3], 'Last Name': l[1::3], 'Job Title': l[2::3]})

輸出

  First Name  Job Title Last Name
0       John    Manager      Bush
1    Katrina  Secretary      Cohn
s = pd.Series([
        'John',
        'Bush',
        'Manager',
        'Katrina',
        'Cohn',
        'Secretary'])

df = pd.DataFrame(s.values.reshape(-1, 3),
                  columns=['First Name', 'Last Name', 'Job Title'])

df

在此處輸入圖片說明


如果您的數據長度不是3的倍數,則可以這樣強制:

s = pd.Series([
        'John',
        'Bush',
        'Manager',
        'Katrina',
        'Cohn',
        'Secretary',
        'Bogus'])

s_ = s.iloc[:s.shape[0] // 3 * 3]
df = pd.DataFrame(s_.values.reshape(-1, 3), columns=['First Name', 'Last Name', 'Job Title'])

df

在此處輸入圖片說明

暫無
暫無

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

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