python - Pandas - 检查列表中的所有元素是否都在列中

标签 python pandas

我有一个包含 3 列的数据框 - '运动' '年龄' '姓名'

我有一个包含不同运动项目的列表,声明如下:

sports = ['tennis','cricket','swimming']

我想检查所有 3 项运动是否都在运动列中。目前,我有这个:

if (df['sport']!=sport).any():
    print('no, the sports arent in the column')

因此,如果列表中的所有运动不在该列中,我想打印 no。我当前代码的问题是运动列的元素比运动列表多得多,因此给了我一个错误。

最佳答案

尝试使用isin(sports).all()

例如:

import pandas as pd
sports = ['tennis','cricket','swimming']
df = pd.DataFrame({'sport': ['tennis','cricket','swimming']})
print(df["sport"].isin(sports).all())

关于python - Pandas - 检查列表中的所有元素是否都在列中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51537834/

相关文章:

python - 将列表列表附加到 pd.Dataframe()

python - 从json中提取字段

python - 如果条件为 Pandas 拆分列,否则为空

python - Pandas Groupby 绘制按顶级分组的多重索引

python - pandas.apply() 从两列之间的差异返回 NaN

python - 如何在 python 中进行子排序?

python - 为什么我从 HoloViews 保存的 Datashader 绘图的分辨率这么低?

python - 在我的 heroku box(Rails 应用程序)上安装一个 python 库,特别是 pycurl

python - 检查嵌套列表是否在特定索引处具有和不具有值的优雅方法是什么?

python - 包导入和 NameError