欲望:
我想要一种方法来合并两个数据框并保留指定数据框中的非相交数据。
问题:
我有重复的数据,我希望这一行可以删除重复的数据:
final_df = new_df[~new_df.isin(previous_df)].dropna()
示例数据和数据测试:
record = Record(1000, 9300815, '<redacted type>', '<redacted id>')
test_df = pd.DataFrame([record])
if not final_df.empty:
# this produces an empty data frame
empty_df = test_df[test_df.isin(final_df)].dropna()
# this produces the record
record_df = final_pdf[final_pdf.col01 == record.col01]
背景:
我正在加载 xml 数据并将 xml 文件转换为几种不同的记录类型作为命名元组。我将每种记录类型拆分为自己的数据框。然后,我通过如下构造将 xml 文件中的当前数据集与已加载到数据库中的数据进行比较previous_df
:
previous_df = pd.read_sql_table(table_name, con=conn, schema=schema, columns=columns)
列是根据命名元组中的字段动态创建的。数据库架构是使用 sqlalchemy 生成的,UniqueConstraint
当我认为数据库中有重复项时,我添加了进行管理。
提前感谢您提供的任何帮助。