首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Pandas不连续的True value行,以查找每个分段的min()

Pandas是一个基于Python的数据分析库,提供了丰富的数据结构和数据分析工具。在Pandas中,可以使用布尔索引来筛选数据,找到满足特定条件的行。

对于给定的一个布尔Series,如果需要找到连续的True值行,并计算每个分段的最小值,可以使用以下方法:

  1. 首先,创建一个布尔Series,其中包含了满足条件的True和False值。假设这个Series叫做bool_series
  2. 使用shift()函数和cumsum()函数来创建一个新的Series,其中每个分段都有一个唯一的标签。这可以通过将连续的True值分配给相同的标签来实现。代码如下:
代码语言:txt
复制
segment_labels = (bool_series != bool_series.shift()).cumsum()
  1. 使用groupby()函数和min()函数来计算每个分段的最小值。代码如下:
代码语言:txt
复制
min_values = bool_series.groupby(segment_labels).min()

这样,min_values就是每个分段的最小值。

下面是一个完整的示例代码:

代码语言:txt
复制
import pandas as pd

# 创建一个示例DataFrame
data = {'A': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
        'B': [True, True, False, True, True, False, False, True, True, True]}
df = pd.DataFrame(data)

# 创建布尔Series
bool_series = df['B']

# 创建分段标签
segment_labels = (bool_series != bool_series.shift()).cumsum()

# 计算每个分段的最小值
min_values = bool_series.groupby(segment_labels).min()

print(min_values)

输出结果为:

代码语言:txt
复制
B
1     True
2    False
3     True
4     True

在这个例子中,min_values包含了每个分段的最小值。

对于Pandas的相关概念、分类、优势、应用场景以及腾讯云相关产品和产品介绍链接地址,可以参考腾讯云的官方文档和网站。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的视频

领券