[英]Transforming a simple excel function into pandas df
我是 python 的初學者,我嘗試將 excel 表轉換為 pandas dataframe。
我在 excel 中有以下 if 語句:=IF(MOD(F183,2)=1, "PAUSE", "BREAK")
F183 列代表 8 個季度:1,2,3,4,5,6,7,8
我開始定義一個 function,然后將其放入 dataframe with.apply,但我在一開始就很難設置 function。 這就是我到目前為止所擁有的:
def pause(i):
i = df['Quarter']
if i.mod(2) == 1:
return "PAUSE"
else:
return "BREAK"
當我用例如 pause(2) 調用 function 時,我得到一個值錯誤。
謝謝你的任何建議
你可以這樣做 - 電子表格中的 F 列由 df['Quarter'] 表示
import numpy as np
df['PAUSE_BREAK']=np.where(df['Quarter']%2==0,'BREAK','PAUSE')
編輯:我會稍微編輯 function 以僅采用值,然后應用將 function 映射到 df['Quarters'] 系列的每個元素的“地圖”
def pause(i):
if i%2 == 1:
return "PAUSE"
else:
return "BREAK"
df.Quarter.map(pause)
Edit2:通過申請 function,我會傳遞這個 lambda function - 似乎也可以工作
df.apply(lambda row:'PAUSE' if row['Quarter']%2==1 else 'BREAK',axis=1)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.