,可以通过使用apply
函数和lambda表达式来实现。
首先,假设我们有一个名为df
的pandas数据框,其中包含一个字典列dict_col
和一个需要根据字典列值创建的新列new_col
。
import pandas as pd
# 创建示例数据框
data = {'dict_col': [{'key1': 'value1', 'key2': 'value2'}, {'key1': 'value3', 'key2': 'value4'}]}
df = pd.DataFrame(data)
# 使用apply函数和lambda表达式创建新列
df['new_col'] = df['dict_col'].apply(lambda x: x.get('key1') if isinstance(x, dict) and 'key1' in x else None)
在上述代码中,我们使用apply
函数将lambda表达式应用于dict_col
列的每个元素。lambda表达式检查每个元素是否为字典类型,并且字典中是否包含'key1'键。如果满足条件,则将'key1'对应的值赋给新列new_col
;否则,赋值为None。
这样,我们就成功创建了一个新的列new_col
,其值基于字典列dict_col
的另一个列值。
领取专属 10元无门槛券
手把手带您无忧上云