我有一個數據集,其中包含所有標題都以連續格式(在文件的第一個單元格中)書寫,沒有任何分隔符,名稱長度不等,看起來像這樣:在大熊貓中分割標題
ABCDEFG
1 0 1 0
0 0 1 0
1 1 0 1
我想數據集是這個樣子:
AB C D EFG
1 0 1 0
0 0 1 0
1 1 0 1
隨着每列獲取其相應的頭名。我怎樣才能做到這一點?
我有一個數據集,其中包含所有標題都以連續格式(在文件的第一個單元格中)書寫,沒有任何分隔符,名稱長度不等,看起來像這樣:在大熊貓中分割標題
ABCDEFG
1 0 1 0
0 0 1 0
1 1 0 1
我想數據集是這個樣子:
AB C D EFG
1 0 1 0
0 0 1 0
1 1 0 1
隨着每列獲取其相應的頭名。我怎樣才能做到這一點?
如果你的標題是類似的東西:
header = ['ABCDEFG']
基於指數,你可以寫:
header = [header[0][:2], header[0][2], header[0][3], header[0][4:]]
你得到:
['AB', 'C', 'D', 'EFG']
我不建議盲目硬編碼這樣的序列。 –
@coldspeed同意,但你解決切片可能是一個晦澀的解決方案... –
此外,你是假設頭是一個項目列表,這是錯誤的...和你的整個解決方案分崩離析,如果情況並非如此。 –
不管你列的當前如何是,你可以先加入他們,並使用itertools
:
from itertools import islice
seq = [2, 1, 1, 3]
it = iter(''.join(df.columns))
df.columns = [''.join(islice(it, 0, i)) for i in seq]
這個分配['AB', 'C', 'D', 'EFG']
到df.columns
。這種技術的優點是你可以很容易地通過編輯seq
列表和沒有別的來很好地控制分割的大小和數量。
運行'print(df.columns)'。請粘貼打印出的內容。 –
你有什麼方法可以確定你應該在哪裏剪下這個名字?如果你不這樣做,它會很難自動執行... – Carele
這就是問題出現的地方,不幸的是標題名稱的長度不同而且沒有特定的格式。 – Sahil