在python中,如何将具有列表的vlookup等价于数据帧columun?
我有这个数据框:在python中,如何将具有列表的vlookup等价于数据帧columun?,python,python-3.x,pandas,Python,Python 3.x,Pandas,我有这个数据框: import pandas as pd dfX = pd.DataFrame() dfX['Col1']=[['a','b'],['c','d']] dfX['Col2']=['a','d'] dfX Col1 Col2 0 [a,b] a 1 [c,d] d 我想在Col1列中包含列表['a','b']的行中获取Col2中的值。我特别尝试了以下方法,但没有成功: dfX[dfX['Col1'] == ['a','b']]['Col2'] 我该
import pandas as pd
dfX = pd.DataFrame()
dfX['Col1']=[['a','b'],['c','d']]
dfX['Col2']=['a','d']
dfX
Col1 Col2
0 [a,b] a
1 [c,d] d
我想在Col1列中包含列表['a','b']的行中获取Col2中的值。我特别尝试了以下方法,但没有成功:
dfX[dfX['Col1'] == ['a','b']]['Col2']
我该怎么办
谢谢据我所知,您希望“Col1”正好是['a','b'] 这就是我要做的:
import pandas as pd
dfX = pd.DataFrame()
dfX['Col1']=[['a','b'],['c','d']]
dfX['Col2']=['a','d']
#find every row where 'Col1' is equal to ['a','b']
mask = dfX.apply(lambda x: ['a','b'] == x.Col1,axis=1)
#apply it to your dataframe
print(dfX[mask]['Col2'])
输出:
0 a
Name: Col2, dtype: object
你能添加你的预期输出吗?知道[a,b](col1)我想得到一个(col2)@Ewdlam欢迎你!如果我能在这方面进一步帮助你,请告诉我!