Pandas \ Python:如何计算一列中最后一个相同值的数量

Ren Ningen

这是熊猫数据框。“方向”列仅包含3个变量值:向下,向下或向上。只有最后一个相同的值。因此,标题中有问题。

     Time     Direction
id
0    16:59    Up
1    17:00    Flat
2    17:01    Up
3    17:02    Down
4    17:03    Down
5    17:04    Up
6    17:05    Up
7    17:06    Up

假设数据框名称是panda。结果必须是这样的(这是更喜欢的):

result = 0
result = panda.tail(?)['Direction'].count_last_values(#as the most last value[Up <- in this case])[0]
print(result)
3

或者像这样:

     Time     Direction     Series
id
0    16:59    Up            1
1    17:00    Flat          0
2    17:01    Up            1
3    17:02    Down          1
4    17:03    Down          2
5    17:04    Up            1
6    17:05    Up            2
7    17:06    Up            3

我自己可以做到(但我想要更简单的方法):

import pandas as pd

panda = pd.DataFrame({'Time':['16:59','17:00','17:01','17:02','17:03','17:04','17:05','17:06'], 'Direction':['Up','Flat','Up','Down','Down','Up','Up','Up']})

    Time    Direction
0   16:59   Up
1   17:00   Flat
2   17:01   Up
3   17:02   Down
4   17:03   Down
5   17:04   Up
6   17:05   Up
7   17:06   Up

tail = panda.tail(1)['Direction'].iloc[0]
counter = 0 
i = len(panda) - 1
if tail != 'Flat':
    while tail==panda.iloc[i]['Direction']:
        i -= 1
        counter += 1
print(counter)

3
特里

检查当前值是否与上一个值相同,shift并使用创建“组” cumsum()使用.groupby创建新列cumcount

s = (df['Direction'] != df['Direction'].shift()).cumsum()
df['Series'] = df.groupby(s).cumcount()+1

#output:
    Time    Direction   Series
id          
0   16:59   Up          1
1   17:00   Flat        1
2   17:01   Up          1
3   17:02   Down        1
4   17:03   Down        2
5   17:04   Up          1
6   17:05   Up          2
7   17:06   Up          3

如果您需要在“方向”列为“平面”时从零开始计数,请使用.loc

df.loc[df['Direction'] == 'Flat', 'Series'] = df['Series'].subtract(1)

#output
    Time    Direction   Series
id          
0   16:59   Up          1     
1   17:00   Flat        0
2   17:01   Up          1
3   17:02   Down        1
4   17:03   Down        2
5   17:04   Up          1
6   17:05   Up          2
7   17:06   Up          3

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何仅使用pandas在值之间插入(在列中最后一个NaN之前和之后停止)?

来自分类Dev

在 Pandas 中创建一列,计算另一列中唯一值的数量

来自分类Dev

就最低的计算复杂度而言,如何创建一个新的pandas列,该列将基于另一列增加一定数量

来自分类Dev

从第三列为1的另一列中的最后一个值创建pandas df列

来自分类Dev

如何在Python Pandas中将一个数据框的列值与另一个数据框的列值相对应的一列除以另一列?

来自分类Dev

python pandas获取列的最后一个值不同于其他值

来自分类Dev

如何使用Python Pandas在数据框的最后一列中使用货币格式获取第一个单元格的行索引

来自分类Dev

如何从另一列计算pandas数据帧列中匹配项的数量?

来自分类Dev

Python Pandas:在一个列中查找落入另一列范围内的值

来自分类Dev

使用pandas保留第一列内容不同但最后一列内容相同的行

来自分类Dev

如何为 Pandas DataFrame 中最后一个日期的每个个人名称获取一行?

来自分类Dev

Pandas 根据另一列的非空值创建一个新列

来自分类Dev

Python:跳过最后一个值后,如何在Pandas数据框中获得前5个值?

来自分类Dev

取一列对象的最后一个字符并将其作为数据框上的列 - pandas python

来自分类Dev

Python(pandas)遍历一列中的值,并对每个值进行计算

来自分类Dev

如何在 Pandas Python 中计算第二大值并为其添加另一列

来自分类Dev

比较一列中的值是否在另一列中的两个值之间python pandas

来自分类Dev

Pandas 中一天的第一个和最后一个值(Python)

来自分类Dev

Pandas Series.Shift 截断最后一个值

来自分类Dev

比较 pandas groupby 中的最后一个值

来自分类Dev

在 Pandas 中,给定另一列的一组值,如何计算一列中一组值的概率?

来自分类Dev

根据同一行中另一列的值拆分一个Pandas列?

来自分类Dev

Groupby,将一个列的值与另一列的最大值在Pandas中进行比较

来自分类Dev

根据多列中的值和相同条件在pandas中创建一个新列

来自分类Dev

Python pandas:如何从特定列中选择第一个非“无”值?

来自分类Dev

python pandas在最后一个非NaN值处停止fillna

来自分类Dev

如何在pandas.apply函数中索引和使用当前列值和上一列值来计算下一列值?

来自分类Dev

检查一列的值是否在pandas数据框中的另一个列数组中

来自分类Dev

检查一个列的值是否在Pandas中另一列的正负10%范围内

Related 相关文章

  1. 1

    如何仅使用pandas在值之间插入(在列中最后一个NaN之前和之后停止)?

  2. 2

    在 Pandas 中创建一列,计算另一列中唯一值的数量

  3. 3

    就最低的计算复杂度而言,如何创建一个新的pandas列,该列将基于另一列增加一定数量

  4. 4

    从第三列为1的另一列中的最后一个值创建pandas df列

  5. 5

    如何在Python Pandas中将一个数据框的列值与另一个数据框的列值相对应的一列除以另一列?

  6. 6

    python pandas获取列的最后一个值不同于其他值

  7. 7

    如何使用Python Pandas在数据框的最后一列中使用货币格式获取第一个单元格的行索引

  8. 8

    如何从另一列计算pandas数据帧列中匹配项的数量?

  9. 9

    Python Pandas:在一个列中查找落入另一列范围内的值

  10. 10

    使用pandas保留第一列内容不同但最后一列内容相同的行

  11. 11

    如何为 Pandas DataFrame 中最后一个日期的每个个人名称获取一行?

  12. 12

    Pandas 根据另一列的非空值创建一个新列

  13. 13

    Python:跳过最后一个值后,如何在Pandas数据框中获得前5个值?

  14. 14

    取一列对象的最后一个字符并将其作为数据框上的列 - pandas python

  15. 15

    Python(pandas)遍历一列中的值,并对每个值进行计算

  16. 16

    如何在 Pandas Python 中计算第二大值并为其添加另一列

  17. 17

    比较一列中的值是否在另一列中的两个值之间python pandas

  18. 18

    Pandas 中一天的第一个和最后一个值(Python)

  19. 19

    Pandas Series.Shift 截断最后一个值

  20. 20

    比较 pandas groupby 中的最后一个值

  21. 21

    在 Pandas 中,给定另一列的一组值,如何计算一列中一组值的概率?

  22. 22

    根据同一行中另一列的值拆分一个Pandas列?

  23. 23

    Groupby,将一个列的值与另一列的最大值在Pandas中进行比较

  24. 24

    根据多列中的值和相同条件在pandas中创建一个新列

  25. 25

    Python pandas:如何从特定列中选择第一个非“无”值?

  26. 26

    python pandas在最后一个非NaN值处停止fillna

  27. 27

    如何在pandas.apply函数中索引和使用当前列值和上一列值来计算下一列值?

  28. 28

    检查一列的值是否在pandas数据框中的另一个列数组中

  29. 29

    检查一个列的值是否在Pandas中另一列的正负10%范围内

热门标签

归档