[英]Python: Change values in a pandas DataFrame column based on multiple conditions in Python
[英]python pandas column based on multiple if else conditions
我的pandas数据框中有4列,列名称可以说A,B,C,D,每个映射到UI中的一个字段。 每个字段都有其自己的用途,但是用户正在字段A或B或C或D中输入字段A信息。我试图清除数据并将其带到列A进行分析。 因此,如果A列中有任何值,我不在乎B或C或D中的值。但是,如果A列中没有任何值,那么我必须在其他列中寻找用户输入并将其带入A列。列A的实际值将始终以列表中的某些值开头。 因此,如果A列中没有数据,那么我们必须在B列中查找值,然后从列表中查看该值是否具有该值,然后将其带到A中(如果B列也为null或是否包含某些值)除了我们列表中的值以外的其他值,请保留该值,并在C列(与D列类似)中进行检查。如何在python中执行此操作?
如果有任何不清楚的地方,请告诉我。
例,
mylist = ['senior','junior','midlevel']
inputdf
A B C D
senior male senior UK
senior candidate USA
female junior
junior male junior AU
male candidate midlevel
female candidate AU
Outputdf,
A B C D
senior male senior UK
senior senior candidate USA
junior female junior
junior male junior AU
midlevel male candidate midlevel
female candidate AU
您可以使用apply
函数遍历df并将值返回到列“ A”。
def func(row):
for index_val, series_val in row.iteritems():
if (series_val in mylist):
return series_val
df['A'] = df.apply(func, axis = 1)
此代码检查mylist
是否存在A
的值。 如果是,则返回该值,否则继续并检查B
,依此类推。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.