【发布时间】:2019-08-20 03:41:43
【问题描述】:
假设我有如下数据框:
df = pd.DataFrame({ 'ids' : ['1', '1', '1', '1', '2', '2', '2', '3', '3'],
'values' : ['5', '8', '7', '12', '2', '1', '3', '15', '4']
}, dtype='int32')
ids values
1 5
1 7
1 8
1 12
2 1
2 3
2 2
3 4
3 15
我想做的是遍历values 列并检查哪些值大于6,并且ids 列中的相应id 必须附加到一个空列表中。
即使一个 id(比如 3)有多个值,并且在这些多个值(4 和 15)中,只有一个值大于 6,我希望将相应的 id 附加到列表中。
示例: 假设我们在上述数据帧 df 上运行一个循环,我希望输出如下:
more = [1, 3]
less = [2]
more =[] 和 less = [] 是预初始化的空列表
我目前所拥有的: 我尝试实施相同的方法,但肯定我做错了。我的代码:
less = []
more = []
for value in df['values']:
for id in df['ids']:
if (value > 6):
more.append(id)
else:
less.append(id)
【问题讨论】:
-
id 2 的值也大于 6
-
@anky_91 编辑了问题:)
-
我现在更改了数据框。 2 现在的所有值都小于 6
-
你从你的代码中得到了什么输出?
标签: python python-3.x pandas logic