【问题标题】:inserting values to a column from a list using another list as iterator使用另一个列表作为迭代器将值插入列表中的列
【发布时间】:2020-09-08 12:47:20
【问题描述】:

我正在尝试学习 python,但遇到了一个问题。想象一下,我有一个名为 times 的列表

times = [ 1 , 2, 1, 4]

我想创建一个列,其中列表的值对应于我要插入值的行数。例如,假设我有另一个名称列表

names = [ 'George', 'Sonia','Alice','John'] 

我的结果应该是这样的专栏

George
Sonia
Sonia
Alice
John
John
John
John

【问题讨论】:

    标签: python list dataframe


    【解决方案1】:

    要创建名称重复 X 次的列,您可以使用pd.Series.repeat

    import pandas as pd
    
    
    times = [1, 2, 1, 4]
    names = ['George', 'Sonia', 'Alice', 'John']
    
    column = pd.Series(names).repeat(times)
    
    print(column)
    

    打印:

    0    George
    1     Sonia
    1     Sonia
    2     Alice
    3      John
    3      John
    3      John
    3      John
    dtype: object
    

    编辑:纯python解决方案:

    times = [1, 2, 1, 4]
    names = ['George', 'Sonia', 'Alice', 'John']
    
    for n, t in zip(names, times):
        for _ in range(t):
            print(n)
    

    【讨论】:

      【解决方案2】:

      试试这个:

      names = [ 'George', 'Sonia','Alice','John'] 
      times = [ 1 , 2, 1, 4]
      
      for n, t in zip(names, times):
          print('\n'.join([n] * t))
      

      输出:

      George
      Sonia
      Sonia
      Alice
      John
      John
      John
      John
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-09-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-04-18
        • 1970-01-01
        • 2021-10-22
        • 1970-01-01
        相关资源
        最近更新 更多