假设我们需要查找数据帧中列名为“list_col”的列表列中是否包含值为“value”的元素。首先,我们可以使用bool索引方法过滤数据帧:
filtered_df = original_df[original_df['list_col'].notnull()]
然后,我们可以使用apply和lambda函数来遍历每一行并检查值是否在列表列中:
filtered_df['contains_value'] = filtered_df.apply(lambda x: 'value' in x['list_col'], axis=1)
在这个例子中,我们在过滤后的数据帧中创建一个新列“contains_value”,并将值设置为True或False,具体取决于该行的列表列是否包含“value”。
完整代码示例:
import pandas as pd
data = {'list_col': [[1,2,3], [4,5,6], [7,8,9], [10,11,12]], 'other_col': [True, False, False, True]} original_df = pd.DataFrame(data)
filtered_df = original_df[original_df['list_col'].notnull()]
filtered_df['contains_value'] = filtered_df.apply(lambda x: 'value' in x['list_col'], axis=1)
print(filtered_df)
上一篇:遍历国家代码列表时,范围出现错误