我是 Python 新手,我想將我的代碼列印的單行拆分為多行,特別是我想分隔字串變數開始的每一行......
df = pd.DataFrame()
Var1 = "X"
Var2 = 300
Var3 = Var2*15
Var4 = Var3*0.75
df2 = df.append([Var1, Var2, Var3, Var4])
Var5 = "Y"
Var6 = 650
Var7 = Var2*20
df2 = df2.append([Var5, Var6, Var7])
print(df2.T)
如果您運行此代碼,您會注意到 DataFrame 中只有一行,我需要一行中的前 4 個變數和另一行中的最后 3 個變數
uj5u.com熱心網友回復:
由于沒有定義列,append() 假設每個 VarX 都是一個新行(即單列)。您需要首先創建一個具有相關列數的資料框,然后追加。
df = pd.DataFrame(columns=[1,2,3,4])
Var1 = "X"
Var2 = 300
Var3 = Var2*15
Var4 = Var3*0.75
df = df.append({1:Var1, 2:Var2, 3:Var3, 4:Var4}, ignore_index=True)
Var5 = "Y"
Var6 = 650
Var7 = Var2*20
df = df.append({1:Var5, 2:Var6, 3:Var7}, ignore_index=True)
輸出:
1 2 3 4
0 X 300 4500 3375.0
1 Y 650 6000 NaN
uj5u.com熱心網友回復:
你也可以使用 pd.concat() 并傳遞axis=1。上述解決方案更好,但了解多種方法可能會有所幫助。
df = pd.DataFrame()
Var1 = "X"
Var2 = 300
Var3 = Var2*15
Var4 = Var3*0.75
col1 = pd.DataFrame([Var1, Var2, Var3, Var4])
Var5 = "Y"
Var6 = 650
Var7 = Var2*20
col2 = pd.DataFrame([Var5, Var6, Var7])
print(pd.concat([col1,col2], axis = 1).T)
輸出:
0 1 2 3
0 X 300 4500 3375
0 Y 650 6000 NaN
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/472476.html
