要迭代pandas dataframe列,其中列的元素是一个列表,并将其映射到新值,可以使用apply函数结合lambda表达式来实现。
首先,使用apply函数选择要迭代的列,然后使用lambda表达式对列中的每个列表元素进行迭代和映射操作。最后,将新值赋回原始列。
以下是一个示例代码:
import pandas as pd
# 创建示例DataFrame
df = pd.DataFrame({'col1': [[1, 2, 3], [4, 5, 6], [7, 8, 9]]})
# 定义映射函数
def map_values(lst):
# 迭代列表元素,例如将每个元素加1
return [x + 1 for x in lst]
# 迭代并映射列中的每个列表元素
df['col1'] = df['col1'].apply(lambda x: map_values(x))
print(df)
输出结果为:
col1
0 [2, 3, 4]
1 [5, 6, 7]
2 [8, 9, 10]
在这个例子中,我们创建了一个包含列表的DataFrame列。然后,使用map_values
函数定义了一个将列表中的每个元素加1的映射操作。最后,使用apply
函数和lambda表达式将该函数应用到列中的每个列表元素上,并将新值赋回原始列。
关于pandas的更多信息和功能,请参考腾讯云文档中的pandas介绍和使用指南。
领取专属 10元无门槛券
手把手带您无忧上云