可以使用Pandas的apply
函数来遍历行,并将每行的列值与给定的字符串列表进行比较。以下是一个示例代码:
import pandas as pd
# 创建一个示例DataFrame
data = {'Column1': ['A', 'B', 'C', 'D'],
'Column2': [1, 2, 3, 4],
'Column3': ['String1', 'String2', 'String3', 'String4']}
df = pd.DataFrame(data)
# 给定的字符串列表
string_list = ['String2', 'String4']
# 定义一个比较函数
def compare_strings(row, string_list):
if row['Column3'] in string_list:
return row['Column2']
else:
return None
# 使用apply函数遍历行,并将列值与字符串列表进行比较
df['MatchedColumn'] = df.apply(compare_strings, args=(string_list,), axis=1)
# 输出结果
print(df)
输出结果为:
Column1 Column2 Column3 MatchedColumn
0 A 1 String1 NaN
1 B 2 String2 2.0
2 C 3 String3 NaN
3 D 4 String4 4.0
在示例中,首先创建了一个包含3列的DataFrame。然后定义了一个compare_strings
函数,该函数接受每行的数据和给定的字符串列表作为参数,比较列值与字符串列表的值,并返回另一列的值。最后使用apply
函数遍历每行并调用compare_strings
函数,将结果存储在新的一列MatchedColumn
中。