[英]BootStrap grid not working, col-XX-X in one row always shwing multi-row
[英]Multi-Row Calculation
假設我有以下 dataframe:
df1 = {'Column_1': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
'x': ['0', '1', '2', '3', '0', '1', '2', '3']}
df1 = pd.DataFrame (df1, columns = ['Column_1','x'])
df1
我想創建一個名為“x.”的新列。 這是通過將“x”行中的值乘以“x.”的第 1 行來計算的。 'x:' 的第一行的值為 1。當 'Column_1' 中的值發生變化時,我需要計算以重置。 所需的 output 將如下所示:
df2 = {'Column_1': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
'x': ['0', '1', '2', '3', '0', '1', '2', '3'],
'x!': ['1', '1', '2', '6', '1', '1', '2', '6']}
df2 = pd.DataFrame (df2, columns = ['Column_1','x', 'x!'])
df2
其中“x”是 3,“x”。 是 6,因為 3 x 2 (x! row-1 = 2) 等於 6。
我該怎么做?
謝謝
試試這個簡單明了的方法:
let df1 = {'Column_1': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],'x': ['0', '1', '2', '3', '0', '1', '2', '3']}
let newX = ['1'];
for(i=1; i<df1['x'].length; i++){
let check = parseInt(df1.x[i],10)*parseInt(df1.x[i-1],10)
if(check ===0){
newX.push('1')
}else{
newX.push(check.toString())
}
}
console.log(df1.x) //INITIAL ['0', '1', '2', '3', '0', '1', '2', '3']
console.log(newX) //RESULT ['1', '1', '2', '6', '1', '1', '2', '6']
之后,您可以分配新的 x: 數組:
df1['x!'] = newX
並適用於DataFrame
df2 = pd.DataFrame (df2, columns = Object.keys(df1))
我希望這能解決你的問題。 :)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.