我是Python新手,我尝试在一次基于一个if语句条件的数据帧中创建多个列。我创建了一个类似下面的define函数,为每个if语句返回2个值,第二个if语句嵌套在第一个if语句中,然后将该函数应用于dataframe以创建4个新列。显然,这是不正确的,希望得到一些帮助或其他选择,以达到同样的结果。谢谢!你知道吗
def group(df):
if df['a'] == 'one':
low1 = 10
high1 = 60
if df['b'] == 'two':
low2 = 20
high2 = 70
return low1, high1, low2, high2
df['low1', 'high1', 'low2', 'high2'] = df.apply(group, axis=1)
结果就是这样一个数据帧。。。你知道吗
a b low1 high1 low2 high2
one 10 60
one two 10 60 20 70
正如@Lucefer在评论中提到的,如果第一个条件为真,它将永远不会达到第二个条件。因此,交换if语句可能对您有用。你知道吗
相关问题 更多 >
编程相关推荐