我的pandas数据框中有4列,列名称可以说,A,B,C,D各自映射到UI中的字段。每个都有自己的目的,但是用户在字段A或B或C或D中输入字段A信息。我正在尝试清理数据并将其带到A列进行分析。因此,如果A列中有任何值,我不关心B或C或D中的值。但是如果A列中没有值,那么我必须在其他列中查找用户条目并将其带入列A.列A的实际值始终以列表中的某些值开头。因此,如果A列中没有数据,那么我们必须查找B列中的值,看看它是否具有列表中的值,然后将其带到A,如果列B也为空或者它有一些除了列表中的值之外的其他值,保留并在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
答案 0 :(得分:0)
您可以使用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)
此代码检查A
中是否存在mylist
中的值。如果是,则返回该值,否则继续并检查B
,然后依此类推。