可以使用apply函数结合lambda表达式来实现。apply函数可以对DataFrame的某一列或某几列进行操作,并将操作的结果返回。
具体步骤如下:
import pandas as pd
data = {'col1': [['a', 'b'], ['c', 'd'], ['e', 'f']],
'col2': [1, 2, 3]}
df = pd.DataFrame(data)
def remap_values(value):
mapping = {'a': 'apple', 'b': 'banana', 'c': 'cat', 'd': 'dog', 'e': 'elephant', 'f': 'fox'}
return [mapping[v] for v in value]
df['col1'] = df['col1'].apply(lambda x: remap_values(x))
print(df)
完整代码示例:
import pandas as pd
data = {'col1': [['a', 'b'], ['c', 'd'], ['e', 'f']],
'col2': [1, 2, 3]}
df = pd.DataFrame(data)
def remap_values(value):
mapping = {'a': 'apple', 'b': 'banana', 'c': 'cat', 'd': 'dog', 'e': 'elephant', 'f': 'fox'}
return [mapping[v] for v in value]
df['col1'] = df['col1'].apply(lambda x: remap_values(x))
print(df)
输出结果:
col1 col2
0 [apple, banana] 1
1 [cat, dog] 2
2 [elephant, fox] 3
在这个例子中,我们创建了一个包含两列的DataFrame,其中一列是列表。然后我们定义了一个映射函数,将列表中的值重新映射为其他值。最后,我们使用apply函数和lambda表达式将映射函数应用到列表列上,实现了重新映射该列中的值。
领取专属 10元无门槛券
手把手带您无忧上云