网格表定义筛选规则。网格表的行与第二个表的ColA相对应,而网格表的列与第二个表的ColB相对应。目标:如果ColA和ColB的组合福尔斯在网格表中值为1的区间内,则我希望在第二个表中创建值为1的新列,否则为零。
import pandas as pd
grids= pd.DataFrame(data = {"<0.1": [0,0,0,1], "<0.2": [0,0,1,1], ">=0.2": [0,0,1,0]}, index=["<0.1", "<0.2","<0.3", ">=0.3" ] )
df = pd.DataFrame({"ColA": [0.01, 0.15, 0.24, 0.5], "ColB": [0.15, 0.15, 0.24, 0.5]})
输出应类似于'
目前,我已经用for循环做了一个非常大的函数。有什么想法如何用Pandas或其他技巧来优化它吗?
1条答案
按热度按时间zpgglvta1#
也许不是个好办法。但我有两点意见: