[英]Create a new column based on other columns in existing dataframes
我有以下兩個數據框:
test=pd.DataFrame({"x":[1,2,3,4,5],"y":[6,7,8,9,0]})
test2=pd.DataFrame({"z":[1],"p":[6]})
分別導致:
x y
0 1 6
1 2 7
2 3 8
3 4 9
4 5 0
和
z p
0 1 6
在表測試中創建等於以下內容的最佳方法是什么: test["s"]=test["x"]*test2["z"]+test2["p"]
當我嘗試上面的表達式時,我得到以下輸出:
x y s
0 1 6 7.0
1 2 7 NaN
2 3 8 NaN
3 4 9 NaN
4 5 0 NaN
但是我想要所有行的結果。 我已經研究了有關apply方法或所謂的矢量化操作的內容,但我真的不知道如何解決該問題。
預期產量:
x y s
0 1 6 7.0
1 2 7 8.0
2 3 8 9.0
3 4 9 10.0
4 5 0 11.0
提前致謝
這是我的解決方案,我采納了Trenton_M的建議。
test=pd.DataFrame({"x":[1,2,3,4,5],"y":[6,7,8,9,0]})
test2=pd.DataFrame({"z":[1],"p":[6]})
乘法過程:
test["s"] = test['x'] * test2.z.loc[0] + test2.p.loc[0]
test
輸出:
x y s
0 1 6 7
1 2 7 8
2 3 8 9
3 4 9 10
4 5 0 11
使用標量乘法 ,如下所示:
test['s'] = test.x * test2.z[0] + test2.p[0]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.