我想功能GetPermittedFAR
映射到我的dataframe(df)
这样,我可以测试是否在山坳值zonedist1 ==一定值时,我可以建立新的cols如df['FAR_Permitted']
等应用功能的大熊猫山坳
我曾尝试过各种方式的map()
等,但还没有得到这个工作。我觉得这应该是一件非常简单的事情呢?
理想情况下,我会使用一个简单的列表理解/ lambda,因为我有许多这些测试条件值导致col数据创建。
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)
你需要什么确切的输出?你可以发布吗? –
感谢您的回复!有趣的是,也许我正在反思这一点。我试图概括这个问题,可能会忽略一些重要的标准。我将编辑上面的代码。 'zonedist'具有重复值,我需要根据zonedist中的任何值来断言我的数据有2个新列。 – orthogonal