当前位置: 首页 > 面试题库 >

Python-用dict重新映射pandas列中的值

郝修为
2023-03-14
问题内容

我有一本字典,看起来像这样: di = {1: "A", 2: "B"}

我想将其应用于类似于以下内容的数据框的“ col1”列:

     col1   col2
0       w      a
1       1      2
2       2    NaN
要得到:

     col1   col2
0       w      a
1       A      2
2       B    NaN

我怎样才能最好地做到这一点?出于某种原因,与此相关的谷歌搜索术语仅向我显示了有关如何根据字典创建列的链接,反之亦然


问题答案:

你可以使用.replace。例如:

>>> df = pd.DataFrame({'col2': {0: 'a', 1: 2, 2: np.nan}, 'col1': {0: 'w', 1: 1, 2: 2}})
>>> di = {1: "A", 2: "B"}
>>> df
  col1 col2
0    w    a
1    1    2
2    2  NaN
>>> df.replace({"col1": di})
  col1 col2
0    w    a
1    A    2
2    B  NaN

或直接在上Series,即df["col1"].replace(di, inplace=True)



 类似资料:
  • 我有一个字典,看起来像这样: 我想将其应用于数据帧的“col1”列,类似于: 得到: 我怎样才能做到最好?出于某种原因,谷歌搜索与此相关的术语只会向我显示有关如何从dicts生成列的链接,反之亦然:-/

  • 问题内容: 我正在开发一个程序(除其他外),其中读取CSV文件(将它存储为dict形式的数组)。对于每一行,作为其他处理的一部分,我需要将这些键重新映射到用户输入的值,这些值在另一个dict中提供,以便可以在API调用中用作参数。映射数组的形式为: 。 所以我想从: 我想使用类似(尽管yields )的东西。 似乎应该有一个明显的解决方案暗示我。 如果数据在并且映射在: 我已经接近了,但是它仅在已

  • 我有一个类似的例子,类似于我的另一个问题Pandas:在多个列上使用字典映射列,但是现在,我想不直接使用列“category”的max()值,而是间接使用它来填充第四列“category_name”中的None与问题1中的情况相同,但是增加了一个包含字符串的列。 此处“类别”列始终是填充的,而“类别名称”列有一些缺失值: 我想再一次用值填充无/南,我想使用的逻辑是:使用列“类别”中最大值的行的列“

  • 问题内容: 我有一个带有多列的pandas数据框,我想从两列构造一个dict:一个作为dict的键,另一个作为dict的值。我怎样才能做到这一点? 数据框: 我需要将区域定义为键,在dict中计为值。先感谢您。 问题答案: 如果是您,则可以执行以下操作

  • 对如何实现这一点有什么想法吗?

  • 我有一个数据帧,其中一列中具有值。我想将此 值替换为其他列的相同组合的“类别”的最大值。 示例:熊猫数据帧 我想将3中的值替换为唯一组合(1.2列组)此列的max()值。预期结果如下所示: 我尝试过的:我把1。2.列(“公司产品”)获取3的最大值()。列建立一个字典'类别'。(基于GroupBy结果到列表字典的思想) 我得到这个判决(显示每个组合的最大类别值): 现在我想用字典中每个组合的最大值替