pandas DataFrame 交集並集補集

2021-10-04 02:27:49 字數 1982 閱讀 3722

1.場景,對於colums都相同的dataframe做過濾的時候

例如:

df1 = dataframe([[

'a', 10, '男'

], [

'b', 11, '男'

], [

'c', 11, '女'

], [

'a', 10, '女'

], [

'c', 11, '男'

]],

columns=

['name', 'age', '***'])

df2 = dataframe([[

'a', 10, '男'

], [

'b', 11, '女']],

columns=

['name', 'age', '***'

])

取交集:

print(pd.merge(df1,df2,on=

['name', 'age', '***'

]))

取並集:

print(pd.merge(df1,df2,on=

['name', 'age', '***'

], how=

'outer'

))

取差集(從df1中過濾df1在df2中存在的行):

df1 = df1.drop_duplicates(subset=

['name', 'age', '***'

],keep=false)

print(df1)

**:

# -*- coding:utf-8 -*-

import pandas as pd

from pandas import *

df1 = dataframe([[

'a', 10, '男'

], [

'b', 11, '男'

], [

'c', 11, '女'

], [

'a', 10, '女'

], [

'c', 11, '男']],

columns=

['name', 'age', '***'])

print(

"df1:\n%s\n\n" % df1)

df2 = dataframe([[

'a', 10, '男'

], [

'b', 11, '女']],

columns=

['name', 'age', '***'])

print(

"df2:\n%s\n\n" % df2)

print(

"交集:\n%s\n\n" % pd.merge(df1,df2,on=

['name', 'age', '***'

]))

print(

"並集:\n%s\n\n" % pd.merge(df1,df2,on=

['name', 'age', '***'

], how=

'outer'

))

print(

"補集(從df1中過濾df1在df2中存在的行):\n%s\n\n" % df1.drop_duplicates(subset=

Pandas DataFrame用法總結

1 將某一列滿足條件的資料的所在行提取出來 df ori pd.read excel f ivf data data add yuejing time data arrange no null23.xlsx df new df ori df ori.iloc 2 0.6 將某一列滿足條件 0.6 的...

Pandas DataFrame常用方法

1 獲取列名 1.1.鍊錶推導式 語法 col for col in df 返回結果 cvr1 cvr2 cvr3 cvr4 結果型別 list 1.2.通過columns屬性 columns屬性返回index,columns.values屬性返回 numpy.ndarray,可通過 tolist ...

Pandas DataFrame 按行構建

當我們從複雜 提取出逐個樣本的特徵時,繼而構成一條樣本並組成訓練或測試集時,比較容易想到的一點就是一行一行地構建dataframe。而pandas.dataframe 容許的輸入有numpy ndarray structured or homogeneous dict,or dataframe這些 ...