python - 使用 issubset 比较两个 pandas 数据框列之间的设置值
问题描述
我有一个带有两列的熊猫数据框,其中填充了熊猫集。我想检查一列中的所有值是否是另一列的子集。我认为下面的代码可以工作,但似乎你不能将 .issubset() 应用于两个带有集合的系列。
前任:
data = [[['one','orange','green'],['one','orange']],[['milk','honey'],['Clarke', 'honey']]]
df = pd.DataFrame(data, columns=['Column_1','Column_2'])
Are_all_column_2_values_valid = df.loc[:, 'Column_2'].apply(set).issubset(df.loc[:, 'Column_1'])
desired_output = pd.series([True,False])
两组中的所有值都是字符串。
任何帮助将不胜感激!
解决方案
首先确保您实际上有一系列集合:
df = df.apply(lambda x: x.apply(set))
然后使用语法糖<=
:set.issubset
print(df['Column_2'] <= df['Column_1'])
0 True
1 False
dtype: bool
推荐阅读
- java - java 10 gradle项目:找不到自动模块
- git - 如何在不添加历史记录的情况下将 Git 分支标记为已合并(Git merge -s ours --squash)
- java - 如何一起使用@RequestBody 和@RequestParam
- django - if 语句在 for 循环中不起作用
- swift - 如何使用 swiftc 创建可导入的 Swift 库
- c# - 如何在二维数组中找到 indexOf 元素?
- django - Django rest 序列化 - 将 JSON 传递给 Javascript
- bash - 在bash脚本中第一次出现模式之前删除所有字符串
- python - Django注册不起作用
- sql-server - 从特定行和列开始将 Excel 工作表数据导入数据网格,然后导入 SQL Server 表、WPF