Python 列差异,包含列表
我有一个数据框,其中列的值是列表,我想找到两列之间的差异,或者换句话说,我想找到a列中的所有元素,而B列中没有这些元素Python 列差异,包含列表,python,list,pandas,dataframe,Python,List,Pandas,Dataframe,我有一个数据框,其中列的值是列表,我想找到两列之间的差异,或者换句话说,我想找到a列中的所有元素,而B列中没有这些元素 data={'NAME':['JOHN','MARY','CHARLIE'], 'A':[[1,2,3],[2,3,4],[3,4,5]], 'B':[[2,3,4],[3,4,5],[4,5,6]]} df=pd.DataFrame(data) df=df[['NAME','A','B']] #I'm able to concatenate df['C']=df['
data={'NAME':['JOHN','MARY','CHARLIE'],
'A':[[1,2,3],[2,3,4],[3,4,5]],
'B':[[2,3,4],[3,4,5],[4,5,6]]}
df=pd.DataFrame(data)
df=df[['NAME','A','B']]
#I'm able to concatenate
df['C']=df['A']+df['B']
NAME A B C
0 JOHN [1, 2, 3] [2, 3, 4] [1, 2, 3, 2, 3, 4]
1 MARY [2, 3, 4] [3, 4, 5] [2, 3, 4, 3, 4, 5]
2 CHARLIE [3, 4, 5] [4, 5, 6] [3, 4, 5, 4, 5, 6]
有没有办法找出不同之处
df['C']=df['A']-df['B']
我知道我们可以使用df。将应用于函数,但逐行处理将运行缓慢,因为我有大约4000k行。我在寻找一种直截了当的方法,比如
df['C']=df['A']+df['B']
对于固定的差异
df['A'].map(set) - df['B'].map(set)
对于固定的差异
df['A'].map(set) - df['B'].map(set)
你到底想要什么作为“区别”df['A'].map(set)-df['B'].map(set)
会给set带来差异。这正是我想要的!你能补充一下吗?我在试df['D']=set(df['A'])-set(df['B']),我的坏!正在为上面的示例工作,但当我应用于大型数据集时抛出内存错误!你到底想要什么作为“区别”<代码>df['A'].map(set)-df['B'].map(set)
将产生一个设置差异。这正是我所要寻找的!你能补充一下吗?我在试df['D']=set(df['A'])-set(df['B']),我的坏!正在为上面的示例工作,但当我应用于大型数据集时抛出内存错误!