我们可以使用apply
函数来比较DataFrame列中字典的键。下面是一个示例代码:
import pandas as pd
# 创建示例DataFrame
df = pd.DataFrame({'A': [{'key1': 1, 'key2': 2}, {'key1': 3, 'key3': 4}],
'B': [{'key1': 5, 'key4': 6}, {'key2': 7, 'key3': 8}]})
# 定义一个函数来比较字典的键
def compare_keys(row):
if 'key1' in row['A'] and 'key1' in row['B']:
return True
else:
return False
# 应用函数到DataFrame的每一行
df['compare_result'] = df.apply(compare_keys, axis=1)
print(df)
输出:
A B compare_result
0 {'key1': 1, 'key2': 2} {'key1': 5, 'key4': 6} True
1 {'key1': 3, 'key3': 4} {'key2': 7, 'key3': 8} False
在上面的示例中,我们首先创建了一个示例DataFrame,其中包含两列,每列的值都是字典。然后,我们定义了一个函数compare_keys
,该函数接受一个行参数,并通过检查字典中是否存在特定键来比较两列的字典。最后,我们使用apply
函数将compare_keys
函数应用于DataFrame的每一行,并将结果保存在新的列compare_result
中。