首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将函数应用于大熊猫

将函数应用于大熊猫
EN

Stack Overflow用户
提问于 2016-03-08 03:14:55
回答 1查看 99关注 0票数 2

我想将函数GetPermittedFAR映射到我的dataframe(df),这样我就可以测试在cols zonedist1 ==中的一个值,一个特定的值,我可以构建新的cols,比如df['FAR_Permitted']等等。

我尝试过各种map()等方法,但没有让它起作用。我觉得这应该是件很简单的事吗?

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

代码语言:javascript
复制
import pandas as pd
import numpy as np

def GetPermittedFAR():
    if df['zonedist1'] == 'R7-3':
        df['FAR_Permitted'] = 0.5
        df['Building Height Max'] = 35

    if df['zonedist1'] == 'R3-2':
       df['FAR_Permitted'] = 0.5
       df['Building Height Max'] = 35

    if df['zonedist1'] == 'R1-1':
       df['FAR_Permitted'] = 0.7
       df['Building Height Max'] = 100
    #etc...if statement for each unique value in 'zonedist'

df = pd.DataFrame({'zonedist1':['R7-3', 'R3-2', 'R1-1', 
                               'R1-2', 'R2', 'R2A', 'R2X',
                               'R1-1','R7-3','R3-2','R7-3',
                               'R3-2', 'R1-1', 'R1-2'
                                ]}

df = df.apply(lambda x: GetPermittedFAR(), axis=1)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-08 03:56:00

使用pd.merge()怎么样?

df成为你的数据

代码语言:javascript
复制
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是另一个具有条件的数据格式

代码语言:javascript
复制
In [613]: merge
Out[613]:
  zonedist1  FAR_Permitted  Building Height Max
0      R7-3            0.5                   35
1      R3-2            0.5                   35

然后,将dfmerge合并在“左侧”

代码语言:javascript
复制
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
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35858265

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档