簡體   English   中英

使用 pandas 將每第 n 行從一列轉置為多列

[英]Transpose every nth rows from one column to multiple columns using pandas

有人可以建議我如何使用 pandas 將每 n 行從一列轉換為多列。 假設我有一個 dataframe 包含以下內容: -

指數 0
0 275
1 0.81
2 388
3 2.26
4 275
5 0.93
6 447
7 2.60
8 275
9 1.05
10 500
11 2.91
12 275
13 1.15
14 549
15 3.20

所需的 output:-

指數 “一個” “乙” “C” “D”
0 275 0.81 388 2.26
1 275 0.93 447 2.60
2 275 1.05 500 2.91
3 275 1.15 549 3.20

我試過pd.wide_to_long但它沒有用。

df3 = pd.wide_to_long(df, stubnames= '0', i='index', j='id')

任何意見是極大的贊賞。 謝謝你。

已經回答了另一個問題:


print (pd.DataFrame(df.values.reshape(-1, 4), 
                    columns=['A','B','C','D']))

在這里檢查:

在 PANDAS 中每隔 n 行轉置一列中的數據

您可以使用np.reshape() function 來完成。 請按照給定的步驟:

第 1 步:將您的 dataframe 列數據轉換為 numpy 數組

import numpy as np
arr = np.array(df[0]

第 2 步:然后將此數組數據重塑為所需的列數

array2 = np.reshape(arr, (4, 4)) # here (4, 4) are the number of rows and columns

第 3 步:為您的重構數組創建一個新的數據框

df3 = pd.DataFrame(array2, columns = {'A', 'B', 'C', 'D'})

現在您的舊數據框已更改為您想要的列數的數據框。

暫無
暫無

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

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