iT邦幫忙

0

用dataframe中A欄運算後與儲存至D欄

各位先進好

我想要對以下datafram資料進一步處理
https://ithelp.ithome.com.tw/upload/images/20200810/20127312HXpH8NgqA5.png

新增一個欄位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)
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

1
frank_huang
iT邦新手 5 級 ‧ 2020-08-10 16:10:15
最佳解答

初始化新欄位,然後把相對應的數值丟進去應該就可了
這邊以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
Mactone iT邦新手 5 級 ‧ 2020-08-10 16:55:43 檢舉

太感謝啦!

我要發表回答

立即登入回答