我需要以相同的随机方式随机打乱两个熊猫数据帧的行
Posted
技术标签:
【中文标题】我需要以相同的随机方式随机打乱两个熊猫数据帧的行【英文标题】:I need to random shuffle rows of two pandas DataFrames in the same random way 【发布时间】:2019-01-02 01:39:42 【问题描述】:我有两个数据框 A 和 B ,尺寸为 MxN ,我想随机洗牌。 A 和 B 具有相同的列名和索引。我知道如何使用 df.apply(np.random.shuffle) 方法对每列内的数据进行洗牌,但每列的排列方式不同。我希望如果 A 的第一行在 shuffle 后成为第二行,B 的第一行也成为第二行,等等。我该怎么做?
【问题讨论】:
我认为这是***.com/questions/29576430/…的副本 【参考方案1】:我是瞎子。很简单。如果我们有一个排列 PMT 列表。我们可以这样做:
A_new = A.iloc[PMT]
B_new = B.iloc[PMT]
就是这样。
【讨论】:
【参考方案2】:这不使用 pandas 但有效
from random import shuffle
ind_list=[i for i in range(M)]
shuffle(ind_list)
A=A[ind_list,:]
B=B[ind_list,:]
【讨论】:
以上是关于我需要以相同的随机方式随机打乱两个熊猫数据帧的行的主要内容,如果未能解决你的问题,请参考以下文章