按列值拆分 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中文网其他相关文章!