繁体   English   中英

基于多个if条件的python pandas列

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM