将函数应用于pandas col

时间:2016-03-08 03:14:55

标签: python function numpy pandas

我想将函数GetPermittedFAR映射到我的dataframe(df),以便我可以测试col zonedist1中的值是否=某个值我可以构建新的cols,例如{{1}等等。

我已经尝试了df['FAR_Permitted']等各种方法,但没有让它发挥作用。我觉得这应该是一件非常简单的事情吗?

理想情况下,我会使用一个简单的列表解析/ lambda,因为我有许多这些测试条件值导致col数据被创建。

map()

2 个答案:

答案 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'

上合并dfmerge
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似乎更直接。非常感谢你们。