Pandas 中的行满足一些条件,将 do 条件的值分配给一个单元格

我有一个带有一些值的数据框。


假设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

在这里我使用了一个列表,但这就是想法。


然后,如果我在一个单元格中进行存储,我如何调用它们,以及我如何使用列“状态”中具有多个值的单元格来处理依赖于该列的其他条件?


慕神8447489
浏览 180回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python