【发布时间】:2019-10-20 22:20:00
【问题描述】:
假设我有简单的数据框,例如:
data = {'Col_A' : [0.75, 0.25, 0.25, 0.75, 0.75, 0.25], 'Col_B' : [2, 2.5, 1, 1.5, 3, 3.5]}
df = pd.DataFrame(data)
结果如下:
Col_A Col_B
0 0.75 2.0
1 0.25 2.5
2 0.25 1.0
3 0.75 1.5
4 0.75 3.0
5 0.25 3.5
我想做的是对Col_A 和Col_B 使用条件并遍历每一行,如果两者都匹配条件,我想将该行添加到字典中。
假设Col_A < 0.5 和Col_B > 2 我想用Col_B 附加一个字典,它是适当的值。
在上述情况下,我希望字典返回为 {'Col_B : 3.0, 'Col_B' : 2.5}
我知道Col_B 在这里重复,但我有很多列和很多行的df,我基本上是想了解一些事情中发生的频率。
我希望能够使用的代码是这样的:
dict['Col_B'] = np.where((df['Col_A'] < 0.5) and (df['Col_B'] > 1.5), df['Col_B'])
显然我知道这行不通,但这是我的想法。任何帮助都会非常高兴。
【问题讨论】:
-
首先,
{'Col_B : 3.0, 'Col_B' : 2.5}不起作用,因为键是相同的,你可以期待像{'Col_B': [3.0, 2.5]}
标签: python numpy dataframe dictionary