我想将函数GetPermittedFAR
映射到我的dataframe(df)
,这样我就可以测试col zonedist1==某个值,我就可以构建新的col,比如df['FAR_Permitted']
等等
我试过各种各样的map()
等方法,但都没有成功。我觉得这应该是一件很简单的事情?你知道吗
理想情况下,我会使用一个简单的list/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)
用
pd.merge()
怎么样?你知道吗让
df
成为您的数据帧merge
是另一个有条件的数据帧然后,将
df
与merge
合并到“left”稍后可以替换
NaN
值。你知道吗这两种解决方案都非常出色。我想得太多了。向熊猫的力量致敬!我不清楚哪种回答方式更好,但合并似乎更直截了当。非常感谢你们。你知道吗
相关问题 更多 >
编程相关推荐