python - 在列表中查找一个数字,数字和列表都存储在 pandas 单元格中

标签 python list pandas

df = DataFrame({'Number': (1, 3, 4, 5), 
                'Lists': ([1], [3, 4, 5], [6, 7], [8])})

我想创建另一列“Isin”,如果“数字”在每一行的“列表”字段中,则设置为 1,即

"Isin"
   1
   1
   0
   0

我已经尝试了很多基于 df['Number'].isin(df['Lists']) 的事情......没有任何运气!它因unhashable type: 'list'

而失败

最佳答案

您可以使用 apply() 函数遍历行并逐行检查 Number 是否在 List 中:

df["Isin"] = df.apply(lambda r: int(r.Number in r.Lists), axis=1)

enter image description here

关于python - 在列表中查找一个数字,数字和列表都存储在 pandas 单元格中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40955584/

相关文章:

Python/Scikit-learn/regressions - 从 pandas Dataframes 到 Scikit 预测

python - 如何迭代 Pandas.DataFrame 中的列并将函数的结果附加到同一行?

python - Pip 安装到 anaconda 目录而不是 python 目录 (Windows)

python - 将字符串列表转换为整数列表

python - 仅更新尾随零的小数

python - 使用至少 n 个空格拆分字符串

list - 如何创建输出列表(不是表格)的对象

android - 在安卓上获取 Pandas

Python Pandas Dataframe - 计算行之间的差异并取最小值

python - Python文件运行路径