簡體   English   中英

重塑熊貓數據框行

[英]Reshape pandas dataframe rows

我在像這樣的熊貓中有一個excel數據集:行:123567,列ABCDEF

      A B C D E  F
1   0  5  7 1  8 6
2   2  3  2 4  1 5
3   3  1  1  2 3 4
5   3 5  5  7 9  4
6  4  5  4  6  7 7
7  6  8  3  3  1 2

但是我想在此之后進行數據:3行成為一行

1   0 5 7 1 8 6  2 3 2 4 1 5 3 1 1 2 3 4
2   3 5 5 7 9 4 4 5 4 6 7 7 6 8 3 3 1 2

最快,可能也是最簡單的方法是對值調用reshape

df.values.reshape(-1, df.shape[1] * 3)

array([[0, 5, 7, 1, 8, 6, 2, 3, 2, 4, 1, 5, 3, 1, 1, 2, 3, 4],
       [3, 5, 5, 7, 9, 4, 4, 5, 4, 6, 7, 7, 6, 8, 3, 3, 1, 2]])

但是,如果您的數據沒有確切的行數來執行整形,則會出錯。


您還可以使用groupby + apply

df.groupby(np.arange(len(df)) // 3 * 3).apply(lambda x: x.values.ravel())

即使第一個選項不起作用,這也應該起作用。

暫無
暫無

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

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