[英]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.