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

标签 python pandas dataframe data-science

假设我有一个大型数据集(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)

关于python - 如何随机交换选择列的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56693012/

相关文章:

python - python中的Gdal筛过滤器

pandas - Jupyter 中数据帧的漂亮输出

python - 为 API 调用循环 Pandas DataFrame 的最快方法

python - 从 Pandas 中删除重复列读取 excel 数据框

python - 如何报告异常以备后用

python - Pandas 中的逐元素异或

python - 重命名列与替换列属性之间的区别

python - pandas 1.0.1 中 "datetime64[ns, UTC]"采样的 groupby 行为不正确?

python - asyncio的事件循环使用什么调度算法?

python - 从 Pandas DataFrame 绘图时控制颜色、图例,每个 x 有多个 y 值