假設我有以下熊貓資料框:

我想創建一個值為 ColB 和 -1 * ColB 的新列。生成的資料框應如下所示:

我怎樣才能有效地實作這一目標?
uj5u.com熱心網友回復:
你可以這樣做 直接而清晰的方式
def Test(Col1,Col2):
for i in range(len(Col1)):
yield [Col1[i],-1*Col2[i]]
z=Test(data["ColB"],data["ColB"])
data["ColC"]=list(z)
uj5u.com熱心網友回復:
簡單的方法:
df['ColC'] = df['ColB'].astype(str) ", " (df['ColB']*-1).astype(str)
uj5u.com熱心網友回復:
你可以試試
df['ColC'] = df.eval('ColB = -ColB')[['ColA', 'ColB']].values.tolist()
print(df)
ColA ColB ColC
0 5 1 [5, -1]
1 6 2 [6, -2]
2 7 3 [7, -3]
3 8 4 [8, -4]
4 9 5 [9, -5]
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/479724.html
