随机选择索引中没有重复的数据,并从中创建一个新列表

时间:2018-11-14 02:40:36

标签: python python-3.x pandas numpy

我的程序需要随机选择值而不重复它们。之后,程序将为它们分配随机变量。

假设这是数据:

0 1 2 3 4 
0 1 2 3 4
0 1 2 3 4
0 1 2 3 4

如您所见,数据在索引0、9和17中包含重复的数字。由于索引不同,因此不能忽略这些数字。 我找不到任何解决问题的方法。我曾尝试过像使用new webpack.WatchIgnorePlugin([ 'node_modules', '/absolute_path/modulename/**', 'node_modules/**', 'node_modules/modulename' ]) 一样的尝试,但是我收到了

  

error ValueError:具有多个的数组的真值   元素是不明确的。使用a.any()或a.all()

或者,在我的其他尝试中,由于程序排除了一些类似的数据,因此数据减少了。

我第一次尝试使用以下代码

webpackConfig.watchOptions = {
    ignored: /mymodulename/,
};

,输出结果将类似于

[input] data
[output]
                 0
0       770000.000
1       529400.000
2       780000.000
3       731300.000
4       935000.000
5       440000.000
6       634120.000
7       980000.000
8       600000.000
9       770000.000
10      600000.000
11      536613.000
12      660000.000
13      850000.000
14      563600.000
15      985000.000
16      600000.000
17      770000.000
18      957032.000
19      252000.000
20      397000.000
21      218750.000
22      785578.000

但这无济于事,因为它是随机的,并且可能会多次使用某些值。有解决问题的建议吗?

顺便说一句,所需的输出必须与上面的输出相似,但不能重复。

2 个答案:

答案 0 :(得分:1)

您可以使用import pygame import os.path as osp from pygame.locals import * pygame.init() display_width, display_height = 800, 600 black = (0,0,0) white = (255,255,255) red = (255,0,0) current_path = osp.dirname(__file__) # Where your .py file is located image_path = osp.join(current_path, 'images_store') # The image folder path carImage = pygame.image.load(osp.join(image_path, 'you.png')) gameDisplay = pygame.display.set_mode((display_width, display_height)) pygame.display.set_caption("Game") clock = pygame.time.Clock() def car(x,y): gameDisplay.blit(carImage, (x, y)) x = (display_width * 0.45) y = (display_height * 0.8) crashed = False while not crashed: for event in pygame.event.get(): if event.type == pygame.QUIT: crashed = True gameDisplay.fill(white) car(x,y) pygame.display.update() clock.tick(24) pygame.quit() quit() numpy.random.choice关键字arg来选择随机索引而无需替换。以下是您从replace=False中选取n个随机值而无需重复索引的方法:

data

答案 1 :(得分:1)

就像@ peter-leimbigler所说的那样,df.sample可以帮助您达到目标。

    Glide.with(getContext().getApplicationContext())
                 .asBitmap()
                 .load(path)
                 .into(new SimpleTarget<Bitmap>() {
                     @Override
                     public void onResourceReady(Bitmap bitmap,
                                                 Transition<? super Bitmap> transition) {

                /*
                        requestLayout()
                        Call this when something has changed which has
                        invalidated the layout of this view.
                */
                    mImageView.requestLayout();
                    mImageView.getLayoutParams().height = newHeight;
                    mImageView.getLayoutParams().width = newWidth;


                  // Set the scale type for ImageView image scaling 
                  mImageView.setScaleType(ImageView.ScaleType.FIT_XY);

                         mImageView.setImageBitmap(bitmap);
                     }
                 });

如果这些值存在于多个索引位置,则可能会重复某些值,但它不应多次选择同一索引位置。

如果只想采样唯一值,则可以使用df [column] .unique,尽管不能直接采样。

df.sample(10))

        data
4   935000.0
13  850000.0
20  397000.0
7   980000.0
22  785578.0
18  957032.0
19  252000.0
10  600000.0
5   440000.0
0   770000.0