如何从两列中随机 Select ?

谢谢

import pandas as pd
import numpy as np
import random
df = pd.read_csv('test.csv')
df.drop(['q','w'],inplace=True, axis=1)
n = 0
z = n+10
df=df.iloc[n:z]

g = df['a']
j = df['b']
#p = g+j

for i in range(5):
    cards_1 = np.random.choice(g, 4)
    print(cards_1)
print("\n")    
for ii in range(5):
    cards_2 = np.random.choice(j, 4)
    print(cards_2, sep = "\n")  
  

推荐答案

Side Note:np.random.choice如果没有参数replace = FALSE,则可能会多次拾取一张卡,因为在提取对象后,该对象不会从 Select 池中移除.

考虑这个解决方案:


import pandas as pd
import numpy as np


# Dont worry about this. this is only to get some sample data
df = pd.DataFrame(np.transpose(np.array(
    [[7,8,9,10, "j", "q", "k", "a"],
     [7,8,9,10, "j", "q", "k", "a"],
     [7,8,9,10, "j", "q", "k", "a"]])),
                   columns=['a', 'b', 'c'])
                   
                   
# end of data
                   
# Choose two column names without replacement (dont pick same column twice or more)
random_colnames = np.random.choice(df.columns,2, replace = False)
# Custom colnames could be
#custom_colnames = ['a', 'b']


#drawn_cards = []

for col in random_colnames:
    # pick elements from column with replacement
    # and extend them to the list of already drawn cards
    for _ in range(5):
        # add replace = False if you do not want the same cardd picked more than once
        draw = np.random.choice(df[col],4)
        #drawn_cards.extend(draw) 
        print(draw)
    

# Print for showcase purpose
# print(drawn_cards)

Python相关问答推荐

当测试字符串100%包含查询字符串时,为什么t fuzzywuzzy s Process.extractBests不给出100%分数?

键盘.任务组

如何在Python中使用ijson解析SON期间检索文件位置?

将轨迹优化问题描述为NLP.如何用Gekko解决这个问题?当前面临异常:@错误:最大方程长度错误

在应用循环中间保存pandas DataFrame

使用polars .滤镜进行切片速度比pandas .loc慢

Python在tuple上操作不会通过整个单词匹配

Pandas 第二小值有条件

时间序列分解

处理带有间隙(空)的duckDB上的重复副本并有效填充它们

如何让Flask 中的请求标签发挥作用

如何获取TFIDF Transformer中的值?

用Python解密Java加密文件

在Python中管理打开对话框

如何将多进程池声明为变量并将其导入到另一个Python文件

迭代嵌套字典的值

SQLAlchemy bindparam在mssql上失败(但在mysql上工作)

Python避免mypy在相互引用中从另一个类重定义类时失败

关于两个表达式的区别

如何过滤组s最大和最小行使用`transform`'