鉴于这种数据帧如何根据其他列条目计算具有不同功能的新熊猫数据框列?
df=pd.DataFrame({"A":[0.380,0.475,0.380,0.475,0.570],"B":[20,20,63,63,63]})
A B
0 0.380 20
1 0.475 20
2 0.380 63
3 0.475 63
4 0.570 63
我想补充一点,返回给定列A的输入函数的结果列,但功能要因人而异基于B列简易的含量足以增加使用该方法适用于基于A柱:
def conv(x):
return (33.8*np.sin(1.65*(x-0.89))+33.9)/0.19
df['C']=df['A'].apply(conv)
df
但我想基于列B.设置任何“如果”的定义中的语句返回ValueErrors进入一个完全不同的功能,以适用于当然,并且使用df['C'].isin([20])
给了我一个布尔值列表。接下来,我将尝试df.groupby('B')
并为每个组应用不同的功能,但我仍然在想什么是最优雅的解决方案。
告诉我们您希望如何改变,哪些是你认为结果应该是。 – piRSquared