zoukankan      html  css  js  c++  java
  • pandas dataframe取差集:删掉已存在的数据,保留未插入的数据

    适用场景:

    插入数据到mysql中,中途中断,导致部分数据未插入成功。避免下次插入时插入了重复的数据。

    思路:

    1、读取已插入的数据,

    2、读取全部数据(包含已插入和未插入的),

    3、将已插入的数据添加到全部数据中,产生重复数据,

    4、删除所有重复的数据。

    示例代码:

    import pandas as pd
    import numpy as np
    
    df = pd.DataFrame(np.arange(15).reshape((5, 3)))  # 总数据
    # 输出df:
         0    1    2
    0    0    1    2
    1    3    4    5
    2    6    7    8
    3    9    10    11
    4    12    13    14
    
    
    df2 = df[:3]  # 已插入的数据
    # 输出df2:
         0    1    2
    0    0    1    2
    1    3    4    5
    2    6    7    8
    
    
    df = df.append(df2)  # 将已插入的数据添加到全部数据里面,生成重复数据
    df = df.append(df2)  # 需要添加两次,避免将df2在df中没有的数据添加了
    # 输出df:
         0    1    2
    0    0    1    2
    1    3    4    5
    2    6    7    8
    3    9    10    11
    4    12    13    14
    0    0    1    2
    1    3    4    5
    2    6    7    8
    0    0    1    2
    1    3    4    5
    2    6    7    8
    
    
    df = df.drop_duplicates(keep=False)  # 删除具有重复数据的行,即得到差集
    # 输出df:
         0    1    2
    3    9    10    11
    4    12    13    14
  • 相关阅读:
    位运算之巧解
    牛客练习赛28
    最大素因子
    hdu 4135 Co-prime(容斥定理入门)
    NYOJ #21 三个水杯(bfs)
    牛客国庆集训派对Day_7
    牛客国庆集训派对Day_4~6
    牛客国庆集训派对Day_1~3
    [POJ2336]Ferry Loading II
    [BZOJ1131][POI2008]Sta
  • 原文地址:https://www.cnblogs.com/jaysonteng/p/12360604.html
Copyright © 2011-2022 走看看