我想構建一個包含m列和n行的資料框。每行從1開始并遞增1直到m。
我試圖找到一個解決方案,但我只為這些列找到了這個解決方案。我還添加了一個簡單案例的圖。

uj5u.com熱心網友回復:
assign用于廣播空 DataFrame 中的行:
df = (
pd.DataFrame(index=range(3))
.assign(**{f'c{i}': i 1 for i in range(4)})
)
輸出:
c0 c1 c2 c3
0 1 2 3 4
1 1 2 3 4
2 1 2 3 4
uj5u.com熱心網友回復:
您可以使用np.tile:
import numpy as np
m = 4
n = 3
out = pd.DataFrame(np.tile(np.arange(1,m), (n,1)), columns=[f'c{num}' for num in range(m-1)])
輸出:
c0 c1 c2
0 1 2 3
1 1 2 3
2 1 2 3
uj5u.com熱心網友回復:
試試這個(不需要額外的庫):
df = pd.DataFrame({f'c{n}': [n 1] * (m - 1) for n in range(m)})
m = 4 的結果:
c0 c1 c2 c3
0 1 2 3 4
1 1 2 3 4
2 1 2 3 4
uj5u.com熱心網友回復:
我們只是做np.one
m = 3
n = 4
out = pd.DataFrame(np.ones((m,n))*(np.arange(n) 1))
Out[139]:
0 1 2 3
0 1.0 2.0 3.0 4.0
1 1.0 2.0 3.0 4.0
2 1.0 2.0 3.0 4.0
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/428709.html
