【发布时间】:2021-09-20 20:23:28
【问题描述】:
一整天都在寻找解决我的问题的方法,但找不到答案。我正在尝试遵循此主题的示例:Get column name where value is something in pandas dataframe 制作具有多个条件的版本。
我想提取列名(在列表下)where:
值 == 4 或/和值 == 3
+
仅当没有 4 或/和 3 时,提取 value == 2 的列名
例子:
data = {'Name': ['Tom', 'Joseph', 'Krish', 'John'], 'acne': [1, 4, 1, 2], 'wrinkles': [1, 3, 4, 4],'darkspot': [2, 2, 3, 4] }
df1 = pd.DataFrame(data)
df1
df1
'''
Name acne wrinkles darkspot
0 Tom 1 1 2
1 Joseph 4 3 2
2 Krish 1 4 3
3 John 2 4 4
'''
我正在寻找的结果:
df2
Name acne wrinkles darkspot problem
0 Tom 1 1 2 [darkspot]
1 Joseph 4 3 2 [acne, wrinkles]
2 Krish 1 4 3 [wrinkles, darkspot]
3 John 2 4 4 [wrinkles, darkspot]
'''
我尝试使用上面提到的主题中详细介绍的带有 lambda 的 apply 函数,但它只能接受一个参数。 如果有人可以帮助我,非常感谢您的回答:)
【问题讨论】:
标签: python pandas dataframe extract columnname