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

如何根据列值阈值拆分 Pandas DataFrame?

DDD
DDD原创
2024-10-19 22:30:29928浏览

How to Split a Pandas DataFrame Based on a Column Value Threshold?

按列值拆分 Pandas DataFrame

考虑一个场景,其中您有一个包含名为“Sales”的列的 DataFrame。您希望根据“Sales”列中的值将此 DataFrame 分成两个,以便第一个 DataFrame 包含“Sales”小于指定阈值的数据,而第二个 DataFrame 包含“Sales”大于指定阈值的数据或等于阈值。

要实现这一点,您可以利用 Pandas 中的布尔索引。下面是一个示例:

<code class="python">import pandas as pd

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

# Set the threshold (s)
s = 30

# Split the DataFrame based on the 'Sales' column
df1 = df[df['Sales'] >= s]
print(df1)

df2 = df[df['Sales'] < s]
print(df2)

输出:

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

   A  Sales
2  7     30
3  6     40
4  1     50

   A  Sales
0  3     10
1  4     20

或者,您可以使用反掩码运算符 (~) 来获得相同的结果:

<code class="python">mask = df['Sales'] >= s
df1 = df[mask]
df2 = df[~mask]
print(df1)
print(df2)</code>

这将与前面的示例具有相同的效果。

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

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