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...