第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

在我的數(shù)據(jù)框末尾添加 3 個(gè)重復(fù)列

在我的數(shù)據(jù)框末尾添加 3 個(gè)重復(fù)列

白衣非少年 2021-09-11 15:04:40
我有以下格式的數(shù)據(jù):       0        1         2         3        4         5         6    0  09.08.00  31.6875 -0.017442  17.10.00  59.1250  0.002119  24.10.00 ...  1  10.08.00  31.7031  0.000492  18.10.00  59.1250  0.000000  25.10.00 ...2  11.08.00  31.7656  0.001971  19.10.00  59.3125  0.003171  26.10.00 ...  3  14.08.00  31.5625 -0.006394  20.10.00  59.5625  0.004215  27.10.00 ...  4  15.08.00  31.5000 -0.001980  23.10.00  59.1250 -0.007345  30.10.00 ...         413       414     415       416  0   0.004704  01.05.18  133.48 -0.034991  ......  1  -0.001725  02.05.18  138.58  0.038208  ...... 2  0.000247  03.05.18  141.56  0.021504   ......3  0.000987  04.05.18  139.76 -0.012715   ......4  0.000493  07.05.18  139.63 -0.000930   .......如您所見,數(shù)據(jù)分為 3 列用于多個(gè)組(在本例中為代碼)。更重要的是,我擁有的數(shù)據(jù)是在不同時(shí)間段內(nèi)記錄的。例如,第一組可能有 100 天的數(shù)據(jù),第二組只有 25 天,依此類推。這意味著我們有不同數(shù)量的行,每個(gè)組的數(shù)據(jù)條目。我希望最后的數(shù)據(jù)幀有 3 列而不是 416 列。所以我想以某種方式一次將 3 列附加到現(xiàn)有的數(shù)據(jù)幀。所以最終結(jié)果應(yīng)該是這樣的:       0        1         2              0  09.08.00  31.6875 -0.017442  1  10.08.00  31.7031  0.000492  2  11.08.00  31.7656  0.001971  3  14.08.00  31.5625 -0.006394    4  15.08.00  31.5000 -0.0019805  17.10.00  59.1250  0.002119  6  18.10.00  59.1250  0.000000  7  19.10.00  59.3125  0.003171  8  20.10.00  59.5625  0.004215  9  23.10.00  59.1250 -0.007345我希望這個(gè)問題足夠清楚。我將如何在 Python 中使用 Pandas 等進(jìn)行編程?
查看完整描述

2 回答

?
慕蓋茨4494581

TA貢獻(xiàn)1850條經(jīng)驗(yàn) 獲得超11個(gè)贊

stack與通過模和整數(shù)除法創(chuàng)建的多索引一起使用:


a = np.arange(len(df.columns))

df.columns = [a % 3, a // 3]

df = df.stack().sort_index(level=1).reset_index(drop=True)

print (df)

          0        1         2

0  09.08.00  31.6875 -0.017442

1  10.08.00  31.7031  0.000492

2  11.08.00  31.7656  0.001971

3  14.08.00  31.5625 -0.006394

4  15.08.00  31.5000 -0.001980

5  17.10.00  59.1250  0.002119

6  18.10.00  59.1250  0.000000

7  19.10.00  59.3125  0.003171

8  20.10.00  59.5625  0.004215

9  23.10.00  59.1250 -0.007345

Numpy 解決方案是可能的,但因?yàn)樽詈笥幸恍┳址枰D(zhuǎn)換為floats:


a = np.reshape(df.values,(len(df), -1, 3)).swapaxes(0,1).reshape(-1, 3)

df = pd.DataFrame(a)

df[[1,2]] = df[[1,2]].astype(float)

print (df)

          0        1         2

0  09.08.00  31.6875 -0.017442

1  10.08.00  31.7031  0.000492

2  11.08.00  31.7656  0.001971

3  14.08.00  31.5625 -0.006394

4  15.08.00  31.5000 -0.001980

5  17.10.00  59.1250  0.002119

6  18.10.00  59.1250  0.000000

7  19.10.00  59.3125  0.003171

8  20.10.00  59.5625  0.004215

9  23.10.00  59.1250 -0.007345


查看完整回答
反對 回復(fù) 2021-09-11
  • 2 回答
  • 0 關(guān)注
  • 134 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號