通过 value_counts() 将数据帧划分为两个 DF

马丁

我的框架:

name    rs      number
11      5566     64882
41      534326   5345
11      5566     3312
44      2341     5553
1       6223     2333

它有 700k+ 行。

df.rs.value_counts() = 

5566 2
534326 1
2341 1
6223 1

我需要通过 value_counts 将该帧划分为另外 2 个较小的帧。我的意思是:inUniqueDF应该只是没有 rs 重复的行:

    name    rs      number
    41      534326   5345
    44      2341     5553
    1       6223     2333

并且 inDuplicatedDF应该只是重复(所有重复的行,因为 rs 可能相同,但另一个 cols 具有不同的值):

name    rs      number
11      5566     64882
11      5566     3312

我试过这样的事情:

Duplicate_rs_df = df.drop(df.index[np.where(df.rs.value_counts() <1)])

unique1 = df.drop(df.index[np.where(df.rs.value_counts() >1)])

但是当我通过 couts_values 检查 dfs 仍然有重复时。我的代码有什么问题,我怎样才能以更好的方式做到这一点?

克里斯

使用pandas.DataFrame.drop_duplicatesduplicatedkeep=False

鉴于df

   name      rs  number
0    11    5566   64882
1    41  534326    5345
2    11    5566    3312
3    44    2341    5553
4     1    6223    2333

使用drop_duplicates

uniq_df = df.drop_duplicates('rs', False)
print(uniq_df)

   name      rs  number
1    41  534326    5345
3    44    2341    5553
4     1    6223    2333

并使用duplicated

dup_df = df[df.duplicated('rs', False)]
print(dup_df)

   name    rs  number
0    11  5566   64882
2    11  5566    3312

或者更简单,df.duplicated('rs', False)使用

ind = df.duplicated('rs', False)
print(df[~ind])

   name      rs  number
1    41  534326    5345
3    44    2341    5553
4     1    6223    2333

print(df[ind])
   name    rs  number
0    11  5566   64882
2    11  5566    3312

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何通过value_counts()在数据框上创建列

Pandas 在 group_by 和 value_counts 之后将列添加到 df

如何通过组合 value_counts() 来制作数据框

value_counts() 基于两列?

每行熊猫数据框的“ value_counts”

value_counts() 计算数据帧中的 NaN

如何合并熊猫数据帧 value_counts 的输出

分组并找到前n个value_counts个熊猫

如何从df.groupby('feature')['label']。value_counts()中绘制堆叠的条形图

如何在value_counts上子集熊猫数据框?

根据列value_counts(pandas)过滤数据框

根据value_counts()更改熊猫数据框中的值

熊猫数据框获取列名称和value_counts

如何从 value_counts() 的输出创建新的数据框

如何将value_counts(normalize = True)和value_counts()应用于熊猫系列?

如何将 df.value_counts() 的结果转换为标准数据帧?

df.groupby('MONTH')['TASKTYPE']。value_counts()。unstack()。loc [month_order] .plot.bar(stacked = True)-KeyError

熊猫:.value_counts()仅计算与数据帧第一行相等的事件

通过查找矩阵/ df更改数据帧中的值

Python Pandas:将“ .value_counts”输出转换为数据框

如何在DataFrame的每一行上为两列添加value_counts?

相同len()的两列中的value_counts()不同的Python Pandas

如何在pandas数据框列中找到value_counts()的长度大于1的长度

如何在 Pandas 数据框中使用 value_counts 绘制饼图?

在julia数据框中,熊猫的value_counts有更好的等效项吗?

如何在整个索引中应用value_counts并创建新的数据框?

更改groupby和value_counts输出以映射到数据框

pd.Series(pred).value_counts()如何获取数据框中的第一列?

计数为aggfunc的数据透视表给出的结果与value_counts不同