根据Pandas中另一列的值范围汇总一列的内容

Sid:

我正在根据给定列中值的范围来聚合数据框的内容。我的df样子如下所示:

min max names
1   5   ['a','b']
0   5   ['d']
6   8   ['a','c']
3   4   ['e','a']

预期的输出是

  • min=0max=5,获取汇总值,因此名称值将为['a','b','d','e','a']
  • 对于min=5max=10,获取汇总值,名称值将为['a','d']

任何帮助表示赞赏。

filiphl:

最直观的方法是过滤,然后聚合。为了解决您的特定问题,我会这样做:

>> df = pd.DataFrame({"min": [1, 0, 6, 3],
   "max": [5, 5, 8, 4],
   "value": [['a','b'], ['d'], ['a','c'], ['e','a']]})

>> print(df)
   min  max   value
0    1    5  [a, b]
1    0    5     [d]
2    6    8  [a, c]
3    3    4  [e, a]

>> sum_filtered_values = df[(df["max"]<=5) & (df["min"]>=0)].value.sum()
>> print(sum_filtered_values)
['a', 'b', 'd', 'e', 'a']

>> sum_filtered_values = df[(df["max"]<=10) & (df["min"]>=5)].value.sum()
print(sum_filtered_values)
['a', 'c']

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

根据另一列中的唯一值汇总一列中的值

根据另一列中的值汇总一列中的值

根据另一列的汇总在一列中填充空值

SQL:如何根据SQL中另一列中的值范围对一列求和?

pandas - 根据另一列更改列中的值

Pandas / Python:根据另一列中的值设置一列的值

根据数据框中另一列的值汇总和计算一列的唯一值

Pandas groupby:根据另一列中的值更改一列中的值

根据pandas中另一列的特定范围值创建分数列

如何根据另一表中的查找值汇总一列中的值?

根据另一列(Python,Pandas)中的值删除一列的重复项

根据另一列中的值填充一列-Pandas

如何根据另一列的汇总获得一列的对应值?

如何根据另一列中的条件汇总列中的值?

如何在熊猫中另一列的值之间汇总一列中的值

在group_by中选择值并根据R中的另一列值进行汇总

Bash:根据键汇总一列中的值

汇总一列中的值并按R中的另一列分组

pandas np.where根据csv中另一列中的值在另一列中添加值

根据R中另一列的值范围按列值选择行

根据另一列在pandas列中分配值

根据另一列更改一列的值

根据另一列的值添加一列

如何根据另一列中的值填充另一列中的值?

如果另一列中的值较低(没有for循环),则汇总一列

根据另一列中的重复值过滤一列中的唯一值

Pandas - 根据后一列中是否存在值过滤一列中具有相同值和另一列中多个值的行

根据不包含在范围内的另一列中的值创建命名范围

根据初始选定范围选择另一列中的值范围