【发布时间】:2020-05-11 17:26:27
【问题描述】:
我有一个 DataFrame,其中有一列包含三个唯一的字符串。我需要做的是生成一个包含行索引的列表,这些行的索引在良好之后具有“非常糟糕”,但在“糟糕”之后不是“非常糟糕”。
import random
df = pd.DataFrame({
'measure': [random.randint(0,10) for _ in range(0,20)],
})
df['status'] = df.apply(
lambda x: 'good' if x['measure'] > 4 else 'very bad' if x['measure'] < 2 else 'bad',
axis=1)
measure status
0 8 good
1 8 good
2 0 very bad
3 5 good
4 2 bad
5 3 bad
6 9 good
7 9 good
8 10 good
9 5 good
10 1 very bad
11 7 good
12 7 good
13 6 good
14 5 good
15 10 good
16 3 bad
17 0 very bad
18 3 bad
19 5 good
我希望得到这个列表:
[2, 10]
有没有一种解决方案?
我不想使用数值,因为它们在这里纯粹用于生成 DataFrame 或遍历所有行,这对我的用例来说计算量很大。
【问题讨论】:
-
你能清理/编辑你的问题吗?我在你的数据中看不到“非常好”。
-
@ScottBoston 感谢您发现这一点,完成。
标签: python python-3.x pandas dataframe