首页 >后端开发 >Python教程 >如何根据 Pandas 中的特定列值拆分 DataFrame?

如何根据 Pandas 中的特定列值拆分 DataFrame?

DDD
DDD原创
2024-10-19 22:35:02280浏览

How to Split a DataFrame Based on a Specific Column Value in Pandas?

根据 Pandas 中的列值拆分 DataFrame

在数据分析中经常会遇到需要将一个 DataFrame 分成多个的情况基于特定列值的数据帧。一种这样的情况是,当我们想要将 DataFrame 分成两部分时:一个包含值低于某个阈值的行,另一个包含值高于或等于该阈值的行。

在 Pandas 中,我们可以完成此任务使用布尔索引进行分割。以下是我们如何通过示例实现这种拆分:

考虑以下 DataFrame,其中包含名为“Sales”的列:

df = pd.DataFrame({'Sales':[10,20,30,40,50], 'A':[3,4,7,6,1]})
print (df)

   A  Sales
0  3     10
1  4     20
2  7     30
3  6     40
4  1     50

假设我们想要根据以下条件将此 DataFrame 拆分为两个:销售额为 30:

直接比较拆分:

最简单的方法是使用布尔索引运算符 '>=' 进行直接比较:

<code class="python">s = 30

df1 = df[df['Sales'] >= s]
print (df1)

   A  Sales
2  7     30
3  6     40
4  1     50</code>

这将创建一个名为 df1 的新 DataFrame,其中包含 Sales 值大于或等于 30 的所有行。

使用反向掩码拆分:

要创建一个包含 Sales 小于 30 的行的 DataFrame,我们可以使用 ~:

<code class="python">df2 = df[~mask]
print (df2)

   A  Sales
0  3     10
1  4     20</code>

反转掩码,这将创建一个名为 df2 的新 DataFrame,其中包含 Sales 值小于 30 的所有行30.

以上是如何根据 Pandas 中的特定列值拆分 DataFrame?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn