【问题标题】:Copy same element multiple times in the same column, Pandas在同一列中多次复制相同的元素,Pandas
【发布时间】:2021-10-27 04:17:36
【问题描述】:

我正在尝试复制列的元素 3 次。

也就是说,

从 数据帧 = [A, B, C]

到 DataFrame = [A, A, A, B, B, B, C, C, C]

DataFrame -> DataFrame

这可以通过一些 lambda 函数来实现吗?

【问题讨论】:

    标签: python python-3.x pandas dataframe lambda


    【解决方案1】:

    您可以连接数据帧:

    import pandas as pd
    
    df = pd.DataFrame({"Values": ["A", "B", "C"]})
    
    # output
      Values
    0   A
    1   B
    2   C
    
    
    pd.concat([df, df, df]).sort_values("Values")
    
    # output
      Values
    0   A
    0   A
    0   A
    1   B
    1   B
    1   B
    2   C
    2   C
    2   C
    

    或者如果你想使用 apply 出于某种原因你可以用那种奇怪的方式来做:

    import itertools
    
    pd.DataFrame(
        itertools.chain(*df.Values.apply(lambda x: 3 * [x]).to_list()), 
        columns=df.columns
        )
    
    # output
      Values
    0      A
    1      A
    2      A
    3      B
    4      B
    5      B
    6      C
    7      C
    8      C
    

    【讨论】:

      猜你喜欢
      • 2022-10-25
      • 1970-01-01
      • 1970-01-01
      • 2012-09-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多