如何根据另一列的值对列进行熊猫分组并获得每组的特定结果?

纽比尔普

我有一个包含两列的 DataFrame:一列是日期,另一列包含 True 或 False 值。

假设此代码获取数据框:

d_range=pd.date_range(start='01-01-2018', end='01-06-2018', freq='0.2D', )
d_range=d_range.date
my_list=[]
for i in range(0,d_range.size):
    if 0<i<18:
       my_list.append(False)
    else:
       my_list.append(True)

df=pd.DataFrame({'date':d_range, 'met criteria':my_list})
df.set_index(['date'])

这将为我们提供这个 DataFrame:

print(df)

    date            criteria
0   2018-01-01          True
1   2018-01-01         False
2   2018-01-01         False
3   2018-01-01         False
4   2018-01-01         False
5   2018-01-02         False
6   2018-01-02         False
7   2018-01-02         False
8   2018-01-02         False
9   2018-01-02         False
10  2018-01-03         False
11  2018-01-03         False
12  2018-01-03         False
13  2018-01-03         False
14  2018-01-03         False
15  2018-01-04         False
16  2018-01-04         False
17  2018-01-04         False
18  2018-01-04          True
19  2018-01-04          True
20  2018-01-05          True
21  2018-01-05          True
22  2018-01-05          True
23  2018-01-05          True
24  2018-01-05          True
25  2018-01-06          True

我需要一个按“日期”分组的结果,如果至少有一个 True 值,那么结果将为 True,否则为 False。结果应如下所示:

      date      criteria
2018-01-01          True
2018-01-02         False
2018-01-03         False
2018-01-04          True
2018-01-05          True
2018-01-06          True

你能建议一些可以做到这一点的代码吗?

伯努瓦·德罗古

这是一种方法:

In [1]:
import pandas as pd

d_range=pd.date_range(start='01-01-2018', end='01-06-2018', freq='0.2D', )
d_range=d_range.date
my_list=[]
for i in range(0,d_range.size):
    if 0<i<18:
       my_list.append(False)
    else:
       my_list.append(True)

df=pd.DataFrame({'date':d_range, 'met criteria':my_list})

def True_or_Not(x):
    return x>0
df.groupby('date').sum().apply(True_or_Not)
df

Out [1]:
            met criteria
date    
2018-01-01  True
2018-01-02  False
2018-01-03  False
2018-01-04  True
2018-01-05  True
2018-01-06  True

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

熊猫:根据另一列的值添加价值

来自分类Dev

熊猫:根据另一列中的值按名称对多个列进行子集

来自分类Dev

熊猫根据另一列分配值

来自分类Dev

如何根据另一列中的值进行条件替换列中的值?

来自分类Dev

根据熊猫中的另一列对唯一值进行排序

来自分类Dev

根据每次出现的另一列特定值在熊猫中添加索引

来自分类Dev

熊猫:如何按一列分组并显示每组所有其他列的唯一值计数?

来自分类Dev

熊猫根据另一列的值移动列数据

来自分类Dev

如何根据另一列中的间隔填充熊猫中其他列的缺失值?

来自分类Dev

如何根据行中的特定值和熊猫中的另一列对行进行分组?

来自分类Dev

如何为另一列中的特定值选择熊猫列中的值计数?

来自分类Dev

熊猫分组并保留另一列的值

来自分类Dev

根据列值的条件对选定的行进行分组,然后转换另一列

来自分类Dev

根据另一列熊猫的值添加新列

来自分类Dev

熊猫选择行并根据另一列获得最高的列值

来自分类Dev

根据一列的相同值进行分组和排序,然后对这些组中的另一列进行排序

来自分类Dev

根据一列进行分组,并在另一列中获取总和值

来自分类Dev

根据条件填充另一列(熊猫)的空值

来自分类Dev

熊猫在唯一值上遍历一列并获得另一列的值

来自分类Dev

熊猫,根据条件在另一列中搜索结果

来自分类Dev

如何根据另一列的特定值从一列中删除NaN

来自分类Dev

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

来自分类Dev

如何对SQL ORDER BY进行排序,但根据另一列将结果分组?

来自分类Dev

根据第一列的值对单词进行分组

来自分类Dev

如何根据另一列的值对一列进行计数/求和

来自分类Dev

熊猫,根据另一列的值减去值

来自分类Dev

如何根据另一列“键入”的值进行选择?

来自分类Dev

根据另一列进行分组

来自分类Dev

如何根据熊猫中另一列的下限值对一列中的值求和?

Related 相关文章

  1. 1

    熊猫:根据另一列的值添加价值

  2. 2

    熊猫:根据另一列中的值按名称对多个列进行子集

  3. 3

    熊猫根据另一列分配值

  4. 4

    如何根据另一列中的值进行条件替换列中的值?

  5. 5

    根据熊猫中的另一列对唯一值进行排序

  6. 6

    根据每次出现的另一列特定值在熊猫中添加索引

  7. 7

    熊猫:如何按一列分组并显示每组所有其他列的唯一值计数?

  8. 8

    熊猫根据另一列的值移动列数据

  9. 9

    如何根据另一列中的间隔填充熊猫中其他列的缺失值?

  10. 10

    如何根据行中的特定值和熊猫中的另一列对行进行分组?

  11. 11

    如何为另一列中的特定值选择熊猫列中的值计数?

  12. 12

    熊猫分组并保留另一列的值

  13. 13

    根据列值的条件对选定的行进行分组,然后转换另一列

  14. 14

    根据另一列熊猫的值添加新列

  15. 15

    熊猫选择行并根据另一列获得最高的列值

  16. 16

    根据一列的相同值进行分组和排序,然后对这些组中的另一列进行排序

  17. 17

    根据一列进行分组,并在另一列中获取总和值

  18. 18

    根据条件填充另一列(熊猫)的空值

  19. 19

    熊猫在唯一值上遍历一列并获得另一列的值

  20. 20

    熊猫,根据条件在另一列中搜索结果

  21. 21

    如何根据另一列的特定值从一列中删除NaN

  22. 22

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

  23. 23

    如何对SQL ORDER BY进行排序,但根据另一列将结果分组?

  24. 24

    根据第一列的值对单词进行分组

  25. 25

    如何根据另一列的值对一列进行计数/求和

  26. 26

    熊猫,根据另一列的值减去值

  27. 27

    如何根据另一列“键入”的值进行选择?

  28. 28

    根据另一列进行分组

  29. 29

    如何根据熊猫中另一列的下限值对一列中的值求和?

热门标签

归档