我想将函数GetPermittedFAR
映射到我的dataframe(df)
,以便我可以测试col zonedist1中的值是否=某个值我可以构建新的cols,例如{{1}等等。
我已经尝试了df['FAR_Permitted']
等各种方法,但没有让它发挥作用。我觉得这应该是一件非常简单的事情吗?
理想情况下,我会使用一个简单的列表解析/ lambda,因为我有许多这些测试条件值导致col数据被创建。
map()
答案 0 :(得分:1)
如何使用pd.merge()
?
让df
成为您的数据框
In [612]: df
Out[612]:
zonedist1
0 R7-3
1 R3-2
2 R1-1
3 R1-2
4 R2
5 R2A
6 R2X
merge
是另一个条件
In [613]: merge
Out[613]:
zonedist1 FAR_Permitted Building Height Max
0 R7-3 0.5 35
1 R3-2 0.5 35
然后,在{left'
上合并df
和merge
In [614]: df.merge(merge, how='left')
Out[614]:
zonedist1 FAR_Permitted Building Height Max
0 R7-3 0.5 35
1 R3-2 0.5 35
2 R1-1 NaN NaN
3 R1-2 NaN NaN
4 R2 NaN NaN
5 R2A NaN NaN
6 R2X NaN NaN
稍后您可以替换NaN
值。
答案 1 :(得分:0)
这两种解决方案都非常出色。我是用直的pythonic方式来思考它。颂扬大熊猫的力量!我不清楚哪种答案方式更好但是.merge似乎更直接。非常感谢你们。