-1
我原來的問題發佈了here。我有一個數據幀如下:熊貓數據幀的轉換增加了一個空行
ID START END SEQ
1 11 12 1
1 14 15 3
1 13 14 2
2 10 14 1
3 11 15 1
3 16 17 2
我想把它改造成這個數據幀:
ID START_1 END_1 SEQ_1 START_2 END_2 SEQ_2 START_3 END_3 SEQ_3
1 11 12 1 13 14 2 14 15 3
2 10 14 1 NA NA NA NA NA NA
3 11 15 1 16 17 2 NA NA NA
後pivot_table
轉換我又收到頭之後的附加空白行中的數據框:
test_2['SEQ1'] = test_2.SEQ
test_2 = test_2.pivot_table(index= ['ID','SEQ1']).unstack()
test_2 = test_2.sort_index(axis=1, level=1)
test_2.columns = ['_'.join((col[0], str(col[1]))) for col in test_2]
test_2
test_2
START_1 END_1 SEQ_1 START_2 END_2 SEQ_2 START_3 END_3 SEQ_3
ID
1 11 12 1 13 14 2 14 15 3
2 10 14 1 NA NA NA NA NA NA
3 11 15 1 16 17 2 NA NA NA
如何刪除這些行並對齊所有標題?我試圖用test2[:2]
以傳統方式刪除行,但它並未刪除空白行。
編輯:
這是更現實的數據集的精華:
ID INDEX START END SEQ NUM_PREV NUM_ACTUAL NUM_NEXT TIME PRE_TIME LOC_IND
079C 333334.0 2016-06-23 12:45:32 2016-06-23 12:51:05 1 1 23456 25456 29456 30 2 YES
079C 333334.0 2016-06-23 12:47:05 2016-06-23 12:51:05 2 2 29456 39458 39945 20 0 NO
我得到'KeyError not in index'錯誤。並且應該可能有'idmax = max(test_2 ['SEQ'])+ 1' – duckertito
不太確定錯誤來自哪裏。我更新了我的帖子,展示了我如何複製您的數據和數據透視代碼(完全按照您發佈的內容)。也許你的實際數據不同。 – Parfait
我在我的真實數據集中只有更多列,例如'ID開始結束SEQ時間日期...'。出於某種原因,第一種方法不包括新數據框中的某些列,這就是我誤解的內容。爲什麼不包括所有列?而第二種方法可能不會假設'ID'可能是像'11A'這樣的非數字。 – duckertito