2015-05-19 30 views
0

我有如下表:如何在熊貓的表格中合併兩列?

   1 4 5 6 7 8 9 10 11 12 ... 66 67 68 69 70 71 72 73 74 75 
0  rs535890807 C C C C C C C C C ... C C C C C C C C C C 
1  rs74114776 G G G G G G G G G ... G G G G G G G G G G 
2  rs572600766 C C C C C C C C C ... C C C C C C C C C C 

我想合併以這種方式它列:

0  rs535890807 CC CC CC 
1  rs74114776 GG GG GG 
2  rs572600766 CC CC CC 

所以合併列由兩個,換句話說。有沒有一種簡單的方法可以在熊貓中做到這一點?

回答

2

你可以嘗試添加奇數列的偶數:

df.iloc[:, ::2] + df.iloc[:, 1::2].values 

添加字符串連接它們。 .values是必要的,因爲DataFrame的切片具有不同的索引,因此不會像您所期望的那樣添加。你怎麼實現這也取決於你想要的結果列名是

+0

謝謝,它的工作。我從桌子上放下第一列後。順便說一句,列索引影響什麼在這種情況下?由於原始表格包含3-4個信息欄。 – YKY

+0

列名不會影響這個方法,因爲''.iloc'''基於整數位置而不是名稱來選擇,但是您仍然有連續的列名整數。我不確定這是否會回答你的問題,但如果沒有,你必須更具體。你的意思是你想添加3和4組的列嗎?除非有3s和4s的混合,否則可以通過改變'iloc''中的步長來實現。這是一個全新的問題。如果您需要更多幫助,請編輯該問題或使用示例問一個新問題 – JoeCondron

+0

謝謝,您回答了我的問題。我想知道列名是否影響任何內容。我的意思是原始表格有幾列,我暫時不需要。所以當我放棄它們時,它影響了列名。所以,而不是0,1,2,3,4,5 ...它變成了1,4,6 ... – YKY

1

只需添加你要

df['new_column'] = df['A'] + df['B'] 

它相當於串聯的兩列組合的兩列。我希望這是你在找什麼

+0

他有大約75列。這必須在循環中完成 –

+0

謝謝,虐待嘗試找出一種方法來迭代我的列。 75列是一個測試數據集。實際數據實際是~770k列。 =) – YKY