各位先進好
我想要對以下datafram資料進一步處理
新增一個欄位X
將X的第一行由NGflow/6計算得到
之後的行,如果tempSV>100且NGflow>10,則累加NGflow/6的數值,否則就重設NGflow/6為X的值,我目前用以下的方式計算各個row的X值,但計算出來後該如何寫入現有的dataframe中心的欄位內呢?
謝謝~
sum=0
for i in range(df.shape[0]):
if(i==0):
sum=df.iloc[i,2]/6. #column2為NG flow
else:
if(df.iloc[i,2]>10 and df.iloc[i,0]>100): #column 0為tempSV
sum=sum+df.iloc[i,2]/6.
else:
sum=df.iloc[i,2]/6.
print(sum)
初始化新欄位,然後把相對應的數值丟進去應該就可了
這邊以BMI為例子
import pandas as pd
import numpy as np
data = {}
data['height'] = [165.1,168,160.3,172,177.5]
data['weight'] = [60,66,62,70,58]
df = pd.DataFrame(data)
df['BMI'] = np.nan;
for i in range(df.shape[0]):
df['BMI'][i] = df['weight'][i]/(df['height'][i]*df['height'][i])*10000
print df