要检查一个DataFrame中的逗号分隔值是否包含来自Python中另一个DataFrame的值,可以使用以下步骤:
假设我们有两个DataFrame df1
和 df2
,其中 df1
包含逗号分隔的值,df2
包含需要检查的值。
import pandas as pd
# 示例数据
data1 = {'col1': ['a,b,c', 'd,e,f', 'g,h,i']}
data2 = {'col2': ['a', 'e', 'j']}
df1 = pd.DataFrame(data1)
df2 = pd.DataFrame(data2)
# 将df2的值转换为集合
values_to_check = set(df2['col2'])
# 定义一个函数来检查逗号分隔的值是否包含特定值
def contains_value(cell, values):
return any(val in cell for val in values)
# 应用函数到df1的每一行
df1['contains'] = df1['col1'].apply(lambda x: contains_value(x, values_to_check))
print(df1)
df1
和 df2
。df2
中的值转换为集合 values_to_check
,以便快速查找。contains_value
,用于检查逗号分隔的值是否包含集合中的任意值。apply
方法将自定义函数应用到 df1
的每一行,并将结果存储在新列 contains
中。通过这种方法,你可以高效地检查一个DataFrame中的逗号分隔值是否包含来自另一个DataFrame的值。
领取专属 10元无门槛券
手把手带您无忧上云