python DataFrame找出相同行,去重,求差集

#   ===========找出DataFrame之间的相同行========

(1)问题描述:

在两个DataFrame之间,想要找出相同的行。(类似于求集合之间的交集)

(2)执行命令:

import pandas as pd

same_df = pd.merge(df1, df2, on = ['col1', 'col2', 'col3'], how = 'inner')

(3)使用实例(以下数据都是模拟数据,非真实数据):

df1 =

    weather       add                time

1      台风  重庆市江北区  2018-11-20 00:14:59

2      大雾  重庆市南岸区  2018-11-20 00:44:41

3      暴雨  重庆市渝中区  2018-11-20 11:18:47

df2 =

     weather       add                time

2      大雾  重庆市南岸区  2018-11-20 00:44:41

3      暴雨  重庆市渝中区  2018-11-20 11:18:47

4               重庆市忠县      2018-11-20 21:56:51

same_df_1 = pd.merge(df1, df2)

same_df_1

  weather    add                time

0      大雾  重庆市南岸区  2018-11-20 00:44:41

1      暴雨  重庆市渝中区  2018-11-20 11:18:47

same_df_2 = pd.merge(df1, df2, on = ['weather',  'add',  'time'], how = 'inner')

  weather    add                time

0      大雾  重庆市南岸区  2018-11-20 00:44:41

1      暴雨  重庆市渝中区  2018-11-20 11:18:47

#  ========DataFrame内行去重=========

(1)问题描述:

如果DataFrame之间存在相同的行,想要去除里面的重复行

(2)执行命令:

import pandas as pd

df.drop_duplicates(subset = ['col1', 'col2'])

(3)使用实例(以下都是虚拟数据):

import pandas as pd

data1 = {

    "address":['北京','天津','山西','广东','重庆','天津','山西'],

    "preference_level": ['4','3.5','3','3.5','4.5','3.5','3']

}

df = pd.DataFrame(data1)


df2 = df.drop_duplicates(subset=['address','preference_level'])


# =====求DataFrame之间的差集=====

(1)问题描述:

第一种情况,当两个dataframe之间存在交集,且是包含与被包含之间的关系时;第二种情是两者不是包含关系,但是确实存在交集。当然第一种情况的使用方法也适用于第二种。在这两种情况下,如何从df1中删除df1与df2之间相同的元素,仅保留df1中独有的元素??

(2)使用命令:

针对第一种情况

import pandas as pd

df1.append(df2)

df1.append(df2)

df1 = df1.drop_duplicates(subset=['col1', 'col2'], keep=False)

针对第二种情况

df1.append(df2)

df1 = df1.drop_duplicates(subset=['col1', 'col2'], keep=False)

(3)使用实例(以下都是虚拟数据)


当df1和df2是一种包含关系时,仅使用一次append即可



(4)求解思路:

将df2的内容追加到df1中,如果df1完全包含df2中的内容,则只使用一次append即可,如果df1不完全包括df2中的内容,则需要使用两次append,这是为了保证在在使用drop_duplivates时能够删除df2的全部内容。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 196,099评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,473评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 143,229评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,570评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,427评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,335评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,737评论 3 386
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,392评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,693评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,730评论 2 312
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,512评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,349评论 3 314
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,750评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,017评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,290评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,706评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,904评论 2 335

推荐阅读更多精彩内容

  • pyspark.sql模块 模块上下文 Spark SQL和DataFrames的重要类: pyspark.sql...
    mpro阅读 9,424评论 0 13
  • 昨天决定要来见见世面的时候,开始对比时间和车次。 最终决定了,乘坐明天早上的飞机。今天就开始准备各种事情,虽然我面...
    芬儿的默默阅读 228评论 0 0
  • 最近想要多画点云️️️~ 还是木有草稿,直接上色!
    尘里微光阅读 406评论 4 7
  • 今天中午,我写完午写作业就开始给爸爸写信,我还给姐姐写信,给妈妈写信,在给爸爸写信的时候,我特别想爸爸;给姐姐...
    吴丙南阅读 248评论 0 0