我有一个在每列中都具有唯一值的数据帧:
df1 = pd.DataFrame([["Phys","Shane","NY"],["Chem","Mark","LA"],
["Maths","Jack","Mum"],["Bio","Sam","CT"]],
columns = ["cls1","cls2","cls3"])
print(df1)
cls1 cls2 cls3
0 Phys Shane NY
1 Chem Mark LA
2 Maths Jack Mum
3 Bio Sam CT
以及列表l1:
l1=["Maths","Bio","Shane","Mark"]
print(l1)
['Maths', 'Bio', 'Shane', 'Mark']
现在我想从dataframe中检索一个列,其中包含list和list of elements中的元素
预期产量:
{'cls1' : ['Maths','Bio'], 'cls2': ['Shane','Mark']}
我的代码:
cls = []
for cols in df1.columns:
mask = df1[cols].isin(l1)
if mask.any():
cls.append(cols)
print(cls)
以上代码的输出:
['cls1', 'cls2']
我正在努力从dataframe和list中获取公共元素,以便将其转换为字典
欢迎提出任何建议
谢谢
使用^{} 作为掩码,通过索引替换不匹配的值,并用^{} 重塑形状:
上次按
dict comprehension
创建列表:另一种解决方案:
相关问题 更多 >
编程相关推荐