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
上一篇:三层交换机+二层交换机配置VLAN相互访问


下一篇:leetcode题库解答源码(python3)