【问题标题】:Reshuffle values in columns of panda dataframe重新洗牌熊猫数据框列中的值
【发布时间】:2017-08-10 10:20:10
【问题描述】:

熊猫数据框

|   | col A |   
|---|-------|
| 0 | A     |   
| 1 | B     |  
| 2 | C     |

预期输出(重新洗牌后)

|   | col A |   
|---|-------|
| 0 | B     |   
| 1 | C     |  
| 2 | A     |

如图所示,我想重新洗牌 (index,value) 整个对,但想重新洗牌列中的值(重新洗牌后 colA 中的值将有新的索引)

有人知道怎么做吗?

提前致谢!

【问题讨论】:

    标签: python python-2.7 pandas dataframe sklearn-pandas


    【解决方案1】:

    np.shuffle 就地运行。

    np.random.shuffle(df.colA)
    

    将洗牌colA中的值数组
    检查

    df
    
      colA
    0    C
    1    E
    2    A
    3    F
    4    D
    5    B
    

    【讨论】:

      【解决方案2】:

      可能,最简单的方法是使用np.random.permutation

      >>> import pandas as pd, numpy as np
      >>> df = pd.DataFrame({'colA':list('ABCDEF')})
      >>> df
        colA
      0    A
      1    B
      2    C
      3    D
      4    E
      5    F
      

      然后

      >>> df['colA'] = np.random.permutation(df.colA)
      >>> df
        colA
      0    D
      1    A
      2    F
      3    B
      4    C
      5    E
      >>>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-04-23
        • 2022-06-13
        • 1970-01-01
        • 2016-11-16
        • 2019-08-30
        • 2020-12-27
        • 1970-01-01
        • 2019-07-09
        相关资源
        最近更新 更多