在使用concat索引復制資料幀時(參見此處的示例),有沒有一種方法可以為 c 列中的每次迭代分配一個計數變數(其中 c 列是計數變數)?
原 df:
| 一個 | 乙 | |
|---|---|---|
| 0 | 1 | 2 |
| 1 | 2 | 3 |
df 與pd.concat[df]*5附加列 c 一起復制:
| 一個 | 乙 | C | |
|---|---|---|---|
| 0 | 1 | 2 | 1 |
| 1 | 2 | 3 | 1 |
| 0 | 1 | 2 | 2 |
| 1 | 2 | 3 | 2 |
| 0 | 1 | 2 | 3 |
| 1 | 2 | 3 | 3 |
| 0 | 1 | 2 | 4 |
| 1 | 2 | 3 | 4 |
| 0 | 1 | 2 | 5 |
| 1 | 2 | 3 | 5 |
這是一個多行資料幀,其中計數變數必須應用于多行。
謝謝你的想法!
uj5u.com熱心網友回復:
你可以使用np.arange和np.repeat:
N = 5
new_df = pd.concat([df] * N)
new_df['c'] = np.repeat(np.arange(N), df.shape[0]) 1
輸出:
>>> new_df
a b c
0 1 2 1
1 2 3 1
0 1 2 2
1 2 3 2
0 1 2 3
1 2 3 3
0 1 2 4
1 2 3 4
0 1 2 5
1 2 3 5
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/389504.html
