Skip to main content
 首页 » 编程设计

python之如何随机交换选择列的值

2025年05月04日13jpfss

假设我有一个大型数据集(CSV 格式),如下所示:

   Country  Age  Salary Purchased 
0   France   44   72000        No 
1    Spain   27   48000       Yes 
2  Germany   30   54000        No 
3    Spain   38   61000        No 
4  Germany   40   45000       Yes 
5   France   35   58000       Yes 
6    Spain   75   52000        No 
7   France   48   79000       Yes 
8  Germany   50   83000        No 
9   France   37   67000       Yes 

现在如何随机交换选定列的所有值?例如 我想随机交换第一列“国家/地区”的所有值。

寻找您的建议。提前致谢!

请您参考如下方法:

使用 random.shuffle 就地随机播放:

# <= 0.23 
# np.random.shuffle(df['Country'].values) 
# 0.24+ 
np.random.shuffle(df['Country'].to_numpy()) 

或者,用 random.choice 赋值回来:

df['Country'] = np.random.choice(df['Country'], len(df), replace=False)