python pandas 列基于多个 if else 条件
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 列也为空或者它有一些除了我们列表中的值之外的其他值,请保留它并在 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 和 return 列 '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
中。如果是,则 return 是该值,否则继续检查 B
,然后依此类推。
我的 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
您可以使用 apply
函数遍历 df 和 return 列 '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
中。如果是,则 return 是该值,否则继续检查 B
,然后依此类推。