dataframe資料之間求補集

2021-08-13 19:09:50 字數 776 閱讀 4677

python的pandas庫,對於dataframe資料,有merge命令可以完成dataframe資料之間的求取交集並集等命令。

若存在df1與df2 ,他們的交集df3=pd.merge(df1,df2,on=[.....])。但是又想通過df3求df3與df1的補集時發現沒有該命令。

求df3(子集)與df1補集:

#x為子集

def complement(x,y):

import numpy as np

array1 = np.array(x)

list1=array1.tolist()

array2=np.array(y)

list2=array2.tolist()

def list_to_tuple(t):

l =

for e in t:

return l

def tuple_to_list(t):

l =

for e in t:

return l

a=list_to_tuple(list1)

b=list_to_tuple(list2)

set3=set(b).difference(set(a))

list3=list(set3)

list4=tuple_to_list(list3)

from pandas import series,dataframe

df1=dataframe(list4,columns=x.columns)

return df1

DataFrame資料合併

一 join 作用 預設情況下,他是把行索引相同的資料合併到一起 注意 以左為準,沒有的部分用nan補全 例子import pandas as pd import numpy as np df1 pd.dataframe data np.zeros 2,5 index list ab columns...

DataFrame新增資料

1 給資料框最後新增一列 例如給如下陣列新增一列 陣列名為df1,給df1加score一列 df1 score 80,98 67,90 可以直接命名列名,賦值資料即可。注意 增加列的元素個數要跟原資料列的個數一樣 2 在具體某個位置插入一列可以用 insert 的方法 df1.insert iloc...

Pandas 資料讀取 DataFrame切片

import numpy as np dataset filename affinity dataset.txt x np.loadtxt dataset filename n samples,n features x.shape print this dataset has samples and...