可以使用apply和lambda函数来避免显式迭代DataFrame行的需要。下面是一个示例:
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
dict_list = [{'name': 'John', 'age': 25}, {'name': 'Jane', 'age': 30}, {'name': 'Joe', 'age': 35}]
df['name'] = df.apply(lambda row: dict_list[row.name]['name'], axis=1)
df['age'] = df.apply(lambda row: dict_list[row.name]['age'], axis=1)
print(df)
上面的代码将 DataFrame 添加了两列“name”和“age”,其中的值根据字典列表中的值确定。apply()函数将 DataFrame 的每一行作为参数传递给 lambda 函数,该 lambda 函数基于 DataFrame 行的索引引用字典列表中的相关字典。通过向 DataFrame 添加两列,实现了向 DataFrame 添加新列的目的,而不需要显式迭代 DataFrame 中的行。
上一篇:不迭代其他链接