You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从坐标字符串列表生成无重复列的16×4 DataFrame

生成无重复元素的坐标排列DataFrame

要实现需求,核心是生成四个坐标的全排列(每行元素无重复,且所有行都是唯一的排列组合)。4个元素的全排列共有24种(4! = 24),如果需要16行,只需从全排列中选取16个不重复的样本即可,以下是具体实现代码:

import pandas as pd
import itertools
import random

# 定义目标坐标列表
coords = ["(.1,.1)", "(-.1,-.1)", "(-.1,.1)", "(.1,-.1)"]

# 生成所有无重复元素的全排列(共24组)
all_unique_rows = list(itertools.permutations(coords))

# 随机选取16个不重复的排列(无放回抽样)
selected_rows = random.sample(all_unique_rows, 16)

# 转换为DataFrame
result_df = pd.DataFrame(selected_rows)

# 打印结果
print(result_df)

关键说明:

  • itertools.permutations会直接生成所有符合要求的行,确保每行元素无重复,且所有行都是唯一的排列,从根源避免了重复行和重复元素的问题。
  • 若不需要随机排序,直接取前16个排列即可,把selected_rows替换为all_unique_rows[:16]。
  • 如果需要的是所有24种排列(即完整的全排列集合),直接用pd.DataFrame(all_unique_rows)即可得到24×4的DataFrame。

内容的提问来源于stack exchange,提问作者Kane York

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 02:57:30