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