gpt4 book ai didi

python - 将系列中的值映射到数据框中的所有元素

转载 作者:太空宇宙 更新时间:2023-11-04 05:36:20 26 4
gpt4 key购买 nike

我有类似下面的数据框:

import pandas as pd
import numpy as np

df = pd.DataFrame()
df['ID1'] = [0, 1, 4, 6, 7]
df['ID2'] = [6, 2, 3, 4, np.nan]
df['ID3'] = [np.nan, np.nan, 7, np.nan, np.nan]
>>> df
ID1 ID2 ID3
0 0 6 NaN
1 1 2 NaN
2 4 3 7
3 6 4 NaN
4 7 NaN NaN

以及以下一组键:

keys = pd.Series(['Orange', 'Blue', 'Purple', 'Red', 'Green', 'Pink', 'Brown', 'Black'],
name='ID')
>>> keys
0 Orange
1 Blue
2 Purple
3 Red
4 Green
5 Pink
6 Brown
7 Black
Name: ID, dtype: object

我想用适当的键替换数据框中的每个元素。我可以使用“映射函数”逐列执行此操作:

>>> df['ID1'].map(keys)
0 Orange
1 Blue
2 Green
3 Brown
4 Black
Name: ID1, dtype: object

但是,我怎样才能一次对我的整个数据框执行此操作?我认为这就是“applymap”的用武之地,但我似乎没有正确使用它,因为我在尝试 df.applymap(keys) 时收到一条错误消息。

关于我如何做到这一点有什么建议吗?

最佳答案

这是使用 applylambda 函数的一个很好的用例,您可以在其中映射数据框中的每一列。

>>> df.apply(lambda col: col.map(keys))
ID1 ID2 ID3
0 Orange Brown NaN
1 Blue Purple NaN
2 Green Red Black
3 Brown Green NaN
4 Black NaN NaN

关于python - 将系列中的值映射到数据框中的所有元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35469795/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com