Pandas:根据列值划分 DataFrame
使用 Pandas DataFrame 时,需要根据列值将数据拆分为子集特定的列值。一种常见的场景是根据阈值拆分 DataFrame。实现方法如下:
创建布尔掩码
最简单的方法涉及使用比较运算符创建布尔掩码。通过将掩码应用于 DataFrame,您可以创建两个 DataFrame,其数据满足掩码设置的条件。
例如,按名为“Sales”的列拆分 DataFrame,其中销售额小于和大于或等于指定阈值 's':
<code class="python">import pandas as pd df = pd.DataFrame({'Sales':[10,20,30,40,50], 'A':[3,4,7,6,1]}) print(df) s = 30 # Boolean mask for rows where Sales >= s sales_ge_mask = df['Sales'] >= s # DataFrame with Sales >= s df1 = df[sales_ge_mask] print(df1) # Boolean mask for rows where Sales < s sales_lt_mask = df['Sales'] < s # DataFrame with Sales < s df2 = df[sales_lt_mask] print(df2)
您可以使用“~”运算符反转掩码,以根据条件的否定来拆分 DataFrame。
<code class="python"># Boolean mask for rows where Sales < s sales_lt_mask = df['Sales'] < s # DataFrame with Sales >= s df1 = df[~sales_lt_mask] print(df1) # DataFrame with Sales < s df2 = df[sales_lt_mask] print(df2)</code>
此方法根据定制条件有效地创建 DataFrame 子集。
以上是如何根据 Pandas 中的列值划分 DataFrame?的详细内容。更多信息请关注PHP中文网其他相关文章!