【问题标题】:Shuffle portion of rows in DataFrame随机播放 DataFrame 中的行部分
【发布时间】:2016-06-01 12:50:20
【问题描述】:

我之前看过一些关于如何随机排列行值的帖子 (Randomizing/Shuffling rows in a dataframe in pandas)。不过对我来说,我想知道如何洗牌这些行的一部分,而不是这些行的全部。

我在这里做了一个快速的数据框:

df = pd.DataFrame(np.random.randn(10, 5), columns=list('ABCDE'))

有没有办法重新处理这一点,以便对于每一行,B、C 和 D 列中的值被打乱,而 A 和 E 列中的值保持在同一位置?

【问题讨论】:

    标签: python dataframe shuffle


    【解决方案1】:

    您可以在 shuffle 命令中使用切片:

    import pandas as pd
    import numpy as np
    
    df = pd.DataFrame(np.random.randn(10, 5), columns=list('ABCDE'))
    print df
    
    A=df.values
    _= [np.random.shuffle(i) for i in A[: ,1:4]]
    
    df2=pd.DataFrame(A, columns=list('ABCDE'))
    print df2
    

    【讨论】:

      猜你喜欢
      • 2015-06-17
      • 2023-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-11
      • 2020-10-03
      • 2023-01-23
      相关资源
      最近更新 更多