我有一个带有一些值的数据框。
假设do是一些store的值,does可以满足一些条件,给他们多个' state ',而其他store只能满足一个条件,只分配一个' state '。
例如:
df = DataFrame({'one':[1,2,3,4],
'two';[5,6,7,8],
'three':[9,10,11,12]}
这些是我的条件:
df.loc[(df.one >= 1) & (df.two <= 7),'State'] = 1
df.loc[(df.one == 1) & (df.two <= 11),'State'] = 2
三行满足第一个条件,但只有一行满足第二个条件。
满足这两个条件的行应该在“ State ”列中,即状态 1 和 2。
显而易见的问题是,当第一个条件被分配时,DataFrame 看起来像这样:
one two three State
0 1 5 9 1.0
1 2 6 10 1.0
2 3 7 11 1.0
3 4 8 12 NaN
当第二个条件被分配时,数据框看起来像这样:
one two three State
0 1 5 9 2.0
1 2 6 10 1.0
2 3 7 11 1.0
3 4 8 12 NaN
我想要这样的东西:
one two three State
0 1 5 9 [1.0,2.0]
1 2 6 10 1.0
2 3 7 11 1.0
3 4 8 12 NaN
在这里我使用了一个列表,但这就是想法。
然后,如果我在一个单元格中进行存储,我如何调用它们,以及我如何使用列“状态”中具有多个值的单元格来处理依赖于该列的其他条件?
相关分类