我必须从一个DataFrame的两个或更多列中创建一些类别。创建一个地图时,我发现了一些解决方案,您可以像这样的代码使用lambda:
df = pd.DataFrame({
'a': ['15.22', '50.55', '25.25', '15.45','78.12'],
'b': ['22','50','1', '2', '5'],
'c': ['1','2','5','4','0'],
'd': ['78','5','45','78','125']})
然后我用:
df['e'] = df['d'].apply(lambda x: 1 if x < 50 else x)
这对我来说很好,但是,当我尝试放入另一个变量时,我不知道该怎么做。例如:
(if df.a > 50 & <= 10) = 1
(if df.a > 10) & (df.b > 20) & (df.c >= 1) & (df.d > 5 and < 50) = 2
(if df.a > 25 and < 15) & (df.b > 15 and < 50) & (df.c >= 5) & (df.d > 10 and < 25) = 3
等...
我想对4个不同的变量使用4个条件来创建一个新变量。我必须在一个值和另一个值之间使用这些条件,以创建一个。我在互联网上进行搜索,发现有很多选择可以做到这一点,但是所有示例都显示了如何将一个变量转换为另一个变量。 最好的方法是什么?