我需要帮助创建一个条件列,该列使用其他多个列中的值来创建
Column1|Column2|Column4|Column4
1 | 2 | 5 | A
2 | 3 | 4 | B
3 | 4 | 3 | C
4 | 5 | 2 | B
5 | 1 | 1 | C
我想要的是创建一个新列,如果column4等于,那么新列将等于column1中的值,因此最终的数据帧如下所示
Column1|Column2|Column4|Column4|column5
1 | 2 | 5 | A | 1
2 | 3 | 4 | B | 3
3 | 4 | 3 | C | 3
4 | 5 | 2 | B | 5
5 | 1 | 1 | C | 1
这是我到目前为止尝试过的,但一直在获取响应数据。column1(x)对象不可调用
def column5(x):
if x['column4'] == 'A'
return data.column1(x)
elif x['column4'] == 'B'
return data.column2(x)
elif x['column4'] == 'C'
return data.column3(x)
出现错误是因为
data.column1
是一个pandas.Series
,不能像使用data.column1(x)
的函数那样调用它此外,根据col4的值,每行所需的值也不同,因此需要使用循环,或者更好:使用
pandas's apply()
函数试试这个:
相关问题 更多 >
编程相关推荐