如何定义函数自动选择列中的所有级别并执行命令



在这个数据帧中,我希望从段列中自动选择该级别并执行其余操作。我试过了,但每次都需要改变水平。如何实现自动化?

yy = pd.DataFrame({'segment':['High','High', 'premium','local','local','local'],'value':[12,'NAN',13,'NAN',14,15]})
level='High'
def seg(temp):
**temp1 = yy[yy['segment'] == level]**
temp2= temp1.replace("NAN", 0)
return temp2
seg(yy)

尝试DataFrame.groupby:

yy.loc[yy["value"].eq("NAN"), "value"] = 0
for segment, df in yy.groupby("segment"):
print("segment =", segment)
print(df)
print("-" * 80)

打印:

segment = High
segment value
0    High    12
1    High     0
--------------------------------------------------------------------------------
segment = local
segment value
3   local     0
4   local    14
5   local    15
--------------------------------------------------------------------------------
segment = premium
segment value
2  premium    13
--------------------------------------------------------------------------------

最新更新