【问题标题】:Creating a dictionary with automated population in Python在 Python 中创建一个自动填充的字典
【发布时间】:2023-02-21 22:39:23
【问题描述】:

我正在尝试找到一种更有效的方法来为从 python 中的 csv 导入的 100,000 多行数据集填充字典。我正在尝试填写经理 ID 和姓名,而不必写出所有姓名和号码。

这是它的样子:

    Manager 1 ID   Manager 1 Name     Manager 2 ID   Manager 2 Name     
1      123         Michael Scott        124          Snow White 
2      123                              124             
3      123         Michael Scott        124
4      321         John Doe             234          Bugs Bunny
5      321                              234
6      442                              345          Porky Pig
7      442         Daffy Duck           345                   
.
.
.
14732  734         George Lopez         763        
14733  734                              763          Steve Austin   

我创建了一个这样的字典:

 dict1 = {123:'Michael Scott', 321: 'John Doe', 442:'Daffy Duck'}
 dict2 = {124:'Snow White', 234:'Bugs Bunny', 345:'Porky Pig'}

有没有一种方法可以遍历列和行,使其遍历数字以获取名称,而不必自己全部输入。 让它看起来像这样:

   Manager 1 ID     Manager 1 Name     Manager 2 ID     Manager 2 Name 
1      123           Michael Scott          124           Snow White
2      123           Michael Scott          124           Snow White
3      123           Michael Scott          124           Snow White
4      321           John Doe               234           Bugs Bunny
5      321           John Doe               234           Bugs Bunny 
6      442           Daffy Duck             345           Porky Pig
7      442           Daffy Duck             345           Porky Pig
.
.
.
14732  734           George Lopez           763           Steve Austin
14733  734           George Lopez           763           Steve Austin 

【问题讨论】:

    标签: python dataframe dictionary


    【解决方案1】:

    我会按照以下方式进行,考虑以下简单示例

    import pandas as pd
    df = pd.DataFrame({"Man1ID":[123,123,123,321,321,442,442]})
    dict1 = {123:'Michael Scott', 321: 'John Doe', 442:'Daffy Duck'}
    df["Man1Name"] = df["Man1ID"].replace(dict1)
    print(df)
    

    给出输出

       Man1ID       Man1Name
    0     123  Michael Scott
    1     123  Michael Scott
    2     123  Michael Scott
    3     321       John Doe
    4     321       John Doe
    5     442     Daffy Duck
    6     442     Daffy Duck
    

    (在熊猫 1.5.2 中测试)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-25
      • 2017-12-12
      • 2013-04-28
      • 1970-01-01
      • 2011-03-08
      • 2012-01-15
      • 2021-01-11
      • 1970-01-01
      相关资源
      最近更新 更多