首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

将包含重复行的两列数据帧分散到3个cols中

,可以通过以下步骤实现:

  1. 首先,导入所需的库和模块,例如pandas库。
  2. 创建一个包含两列数据的数据帧(DataFrame),其中包含重复行。
  3. 使用pandas的drop_duplicates()函数去除数据帧中的重复行,得到一个不包含重复行的数据帧。
  4. 使用pandas的sample()函数从不包含重复行的数据帧中随机选择一定数量的行,并将其分配给第一个cols。
  5. 使用pandas的merge()函数将第一个cols与原始数据帧进行合并,得到一个包含重复行的数据帧。
  6. 使用pandas的drop_duplicates()函数再次去除数据帧中的重复行,得到一个不包含重复行的数据帧。
  7. 使用pandas的sample()函数从不包含重复行的数据帧中随机选择一定数量的行,并将其分配给第二个cols。
  8. 使用pandas的merge()函数将第二个cols与原始数据帧进行合并,得到一个包含重复行的数据帧。
  9. 使用pandas的drop_duplicates()函数再次去除数据帧中的重复行,得到一个不包含重复行的数据帧。
  10. 将剩余的行分配给第三个cols。

下面是一个示例代码:

代码语言:txt
复制
import pandas as pd

# 创建包含两列数据的数据帧
df = pd.DataFrame({'col1': [1, 2, 3, 4, 2, 3, 1, 4],
                   'col2': [5, 6, 7, 8, 6, 7, 5, 8]})

# 去除重复行,得到不包含重复行的数据帧
df_unique = df.drop_duplicates()

# 从不包含重复行的数据帧中随机选择一定数量的行,分配给第一个cols
cols1 = df_unique.sample(n=2)

# 将第一个cols与原始数据帧进行合并,得到包含重复行的数据帧
df_merged1 = pd.merge(df, cols1, how='inner')

# 再次去除重复行,得到不包含重复行的数据帧
df_unique2 = df_merged1.drop_duplicates()

# 从不包含重复行的数据帧中随机选择一定数量的行,分配给第二个cols
cols2 = df_unique2.sample(n=2)

# 将第二个cols与原始数据帧进行合并,得到包含重复行的数据帧
df_merged2 = pd.merge(df, cols2, how='inner')

# 再次去除重复行,得到不包含重复行的数据帧
df_unique3 = df_merged2.drop_duplicates()

# 将剩余的行分配给第三个cols
cols3 = df_unique3

# 打印结果
print("第一个cols:")
print(cols1)
print("第二个cols:")
print(cols2)
print("第三个cols:")
print(cols3)

这样,就将包含重复行的两列数据帧分散到了三个cols中。请注意,这只是一个示例代码,实际应用中可能需要根据具体需求进行调整。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

PySpark UD(A)F 高效使用

个主题都超出了本文范围,但如果考虑PySpark作为更大数据panda和scikit-learn替代方案,那么应该考虑个主题。...举个例子,假设有一个DataFrame df,它包含10亿,带有一个布尔值is_sold,想要过滤带有sold产品。...这意味着在UDF中将这些转换为JSON,返回Pandas数据,并最终将Spark数据相应列从JSON转换为复杂类型 [2enpwvagkq.png] 5.实现 实现分为三种不同功能: 1)...除了转换后数据外,它还返回一个带有列名及其转换后原始数据类型字典。 complex_dtypes_from_json使用该信息这些精确地转换回它们原始类型。...不同之处在于,对于实际UDF,需要知道要将哪些转换为复杂类型,因为希望避免探测每个包含字符串。在向JSON转换,如前所述添加root节点。

19.6K31

最全总结 | 聊聊 Python 办公自动化之 PPT(

系列篇第 2 篇文章,覆盖下列内容 表格 Table 图片 Image,包含静态图片、Gif 动态图片 视频 Video 2....为了生成表格美观性,对表高、宽进行调整很有必要 其中,表格对象 columns、rows 属性分别用于获取所有的对象、对象 def set_table_column_width(table...(table, 2, 1.2) 2-2 设置单元格数据 首先,通过索引、索引获取对应单元格对象 # 获取某一个单元格对象 # 注意:索引从0开始 # 比如:获取第一、第一单元格对象 cell...# 4.设置表格数据 datas = [ ["学员", "姓名", "年龄"], ["", "星安果", 23], ["", "AirPython", 18]] # 遍历设置数据单元格...PPT insert_video(slide, video_path, thumbnail_path, 3, 3, 4, 4 / aspect_ratio) # 视频插入PPT insert_video

2.7K11
  • Pandas 秘籍:6~11

    merge方法提供了类似 SQL 功能,可以数据结合在一起。 追加到数据 在执行数据分析时,创建新比创建新更为常见。...默认情况下,concat函数使用外连接,列表每个数据所有保留在列表。 但是,它为我们提供了仅在数据中保留具有相同索引值选项。 这称为内连接。...join: 数据方法 水平组合个或多个 Pandas 对象 调用数据或索引与其他对象索引(而不是)对齐 通过执行笛卡尔积来处理连接/索引上重复值 默认为左连接,带有内,外和右选项...merge: 数据方法 准确地水平合并数据 调用数据/索引与其他数据/索引对齐 通过执行笛卡尔积来处理连接/索引上重复值 默认为内连接,带有左,外和右选项 join...在第 6 步,我们最新数据选择单独数据。 我们将以 8 月这个月为基准,并创建Total_Goal,该比当前少 20% 。

    34K10

    Python 处理Excel内数据(案例介绍*2)

    (一)案例一介绍 现在有一匹电商产品跟当日销量数据,如下,总共有上万笔数据,现在需要统计每个品牌当日销售量,比如美宝莲今天总共卖出了多少商品,另外需要统计每个品牌下面的每个子品类当日销售量(品类可分为口红...list,里面包含这些子品类,用这些关键字和品牌名称在商品列表逐一做匹配,比如商品里有“卡姿兰”又有“口红”,再将符合商品销售数量累加,输出至excel里,就可以完成统计,代码如下 import xlrd...,现在需要将这些分散数据识别出,并加以统计 流程为: 1、用关键字对表内内容进行查找,包含关键字记录。...2、包含关键字第二数据进行加成,并且统计 3、输出到新文档里 首先我们需要先制作一个关键字码表,如下图,我们4大安卓机外安卓机合计安卓里面 接着,用xlrd读取excel,用码表内关键字跟第一数据进行匹配...,符合匹配第二数字加总,最后用xlwt输出到excel文件里,实现代码如下 import xlrd import xlwt readbook = xlrd.open_workbook(r'phone.xlsx

    47230

    使用Python分析姿态估计数据集COCO教程

    第27-32显示了如何加载整个训练集(train_coco),类似地,我们可以加载验证集(val_coco) COCO转换为Pandas数据 让我们COCO元数据转换为pandas数据,我们使用如...添加额外 一旦我们COCO转换成pandas数据,我们就可以很容易地添加额外,从现有的中计算出来。 我认为最好将所有的关键点坐标提取到单独,此外,我们可以添加一个具有比例因子。...第28我们关键点扩展单独。...随后,我们执行转换(第46-47)并创建一个新数据,其中包含normalized_nose_x和normalized_nose_y(第51-55) 最后一绘制二维图表。...接下来,我们用训练集和验证集中每个规模组基数创建一个新数据,此外,我们添加了一个,其中包含数据集之间差异百分比。 结果如下: ?

    2.5K10

    C语言(扫雷游戏)

    //game.c文件包含game.h,避免重复引用 void menu() { printf("##########################\n"); printf("########...我们可以把之前定义个字符型二维数组大小改为 11 11 ,而不是用 9 9 ,在操作时候外面一圈不操作,只在 9*9 棋盘内排雷,这样就不会有越界问题。...2.3打印游戏棋盘 接上所述,我们定义了个 11 11 字符型二维数组,定义好后我们先将埋雷二维数组初始化为 ‘1’,显示排雷信息二维数组初始化为 * ,因为埋雷二维数组并不打印...,再在main.c和 //game.c文件包含game.h,避免重复引用 void menu() { printf("######################...再在main.c和 //game.c文件包含game.h,避免重复引用 void menu() { printf("#######################

    5910

    DataFrame表样式设置(二)

    = 'centerContinuous' distributed = 'distributed' #分散对齐 #注意区分端对齐和分散对齐 我们把col_1设置成左对齐,col_2设置成右对齐,...'center' #靠对齐 bottom = 'bottom' #靠下对齐 justify = 'justify' #端对齐 distributed = 'distributed' #分散对齐 2....4.行宽高设置 4.1设置宽 设置时候,我们可以整个表中所有设置成一样宽度,也可以不同宽是不一样。...4.2设置高 设置宽与原理是一样,使用方法是set_row_height和set_row_height_dict。...,以列表传入 row_to_add_filters 要过滤哪些,传入行索引即可 columns_and_rows_to_freeze 要冻结窗口,如果输入"C3",则会把A、B和1、2冻结 best_fit

    5.8K30

    基于FPGADDR3多端口读写存储管理设计

    2、叠加输出读请求中断处理器设计 叠加输出模块需要从DDR3待输出图形数据和视频数据存储缓存,因此分为个子请求:视频输出读请求和图形输出读请求。...由于者分别在图形中断处理和视频中断处理完成,因此可以同时进行。 视频输出读中断处理主要从视频存储DDR3读取1视频数据,写入叠加输出模块视频缓存区,视频输出读中断处理流程图如图7所示。...本系统突发长度BL=8,即每个用户时钟周期对应接收同一地址相邻8个存储单元连续数据。输出视频分辨率为cols×rows,则地址系统需要发送cols/8个突发读命令。...图形输出读中断处理包含个步骤:从图形存储DDR3读取1图形数据,写到叠加输出模块图形缓存区刚刚搬移数据图形缓存区DDR3存储空间清零。前者与视频输出读中断处理过程类似。...其中,图形生成中断直接结果写8.5us,插值结果写56.6us,图形输出读2.1us,视频中断处理器,视频处理写中断视频处理数据顺序写入DDR3耗时1.1us,则将一视频处理数据写入DDR3

    3K41

    Pandas 秘籍:1~5

    最后个秘籍包含数据分析期间经常发生简单任务。 剖析数据结构 在深入研究 Pandas 之前,值得了解数据组件。...第 10 步验证百分比在 0 1 之间。 更多 除了insert方法末尾,还可以插入数据特定位置。...通过名称选择是 Pandas 数据索引运算符默认行为。 步骤 3 根据类型(离散或连续)以及它们数据相似程度,所有列名称整齐地组织单独列表。...shape属性返回个元素元组。size属性返回数据中元素总数,它只是乘积。ndim属性返回维数,对于所有数据,维数均为 2。...这在第 3 步得到确认,在第 3 步,结果(没有head方法)返回新数据,并且可以根据需要轻松地将其作为附加到数据。axis等于1/index其他步骤返回新数据

    37.5K10

    如何用Python时间序列转换为监督学习问题

    在本教程,你将了解如何单变量和多变量时间序列预测问题转换为机器学习算法处理监督学习问题。 完成本教程后,您将知道: 如何编写一个函数来时间序列数据集转换为监督学习数据集。...t 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 通过在观测值数据插入新,我们可以将上面展示观测值位置下移一格,由于新加并没有数据...shift函数可以帮我们完成这一动作,我们移位后插入原始右侧。...除此之外,具有NaN值已经从DataFrame自动删除。 我们可以指定任意长度输入序列(如3)来重复这个例子。...,包含个变量单步输入观测值和单步输出观测值。

    24.8K2110

    数据结构】数组和字符串(十):稀疏矩阵链接存储:十字链表矩阵操作(加法、乘法、转置)

    4.2.1 矩阵数组表示 【数据结构】数组和字符串(一):矩阵数组表示 4.2.2 特殊矩阵压缩存储   矩阵是以按优先次序所有矩阵元素存放在一个一维数组。...节点包含了几个字段: LEFT:指向该节点在同一左邻非零元素地址信息。 UP:指向该节点在同一上邻非零元素地址信息。 ROW:存储该节点在矩阵行号。...遍历个矩阵当前行链表,根据节点进行比较: 如果个节点相等,则将节点值相加,并插入结果矩阵。 如果第一个节点小于第二个节点,则将第一个节点插入结果矩阵。...获取第一个矩阵当前行链表头节点和第二个矩阵当前列链表头节点。 遍历个链表,根据节点和行进行比较: 如果个节点和行相等,则将个节点值相乘并累加到和变量。...从第一开始遍历原矩阵每一: 获取当前行链表头节点。 遍历当前行链表,节点交换后插入结果矩阵。 返回结果稀疏矩阵指针。 4.

    9510

    数据结构】数组和字符串(四):特殊矩阵压缩存储:稀疏矩阵——三元组表

    4.2.1 矩阵数组表示 【数据结构】数组和字符串(一):矩阵数组表示 4.2.2 特殊矩阵压缩存储   矩阵是以按优先次序所有矩阵元素存放在一个一维数组。...传统优先次序存储方法会浪费大量空间来存储零元素,因此采用压缩存储方法更为合适。常见压缩存储方法有:压缩稠密(CSR)、压缩稠密(CSC)、坐标列表(COO)等。 a....通过使用三元组(Triplet)来表示非零元素位置和值,每个三元组包含三个信息:非零元素索引、非零元素索引以及非零元素值。...TripletTable 结构体用于存储稀疏矩阵数据包含一个 data 数组用于存储非零元素 Triple 结构体,以及 rows、cols 和 length 字段分别表示矩阵行数、数和非零元素数量...函数首先检查当前非零元素数量是否已达到上限 MAX_SIZE 如果达到上限则输出错误信息并返回。 否则,新元素插入 data 数组末尾,并更新 length 字段。

    8810

    回溯法+约束编程-LeetCode51(N皇后问题与解数独问题对比)

    编程题 【LeetCode #104】二叉树最大深度 n 皇后问题研究是如何 n 个皇后放置在 n×n 棋盘上,并且使皇后彼此之间不能相互攻击。 ? 上图为 8 皇后问题一种解法。...给定一个整数 n,返回所有不同 n 皇后问题解决方案。 每一种解法包含一个明确 n 皇后问题棋子放置方案,该方案 'Q' 和 '.' 分别代表了皇后和空位。 ?...我们首先分析一下相同点和不同点: 解数独问题: N确定,为9x9网格,约束条件为:向未知位置填入1-9数字,使得该数所在均不重复以及所在3x3网格内也不重复,因此我们需要使用col_...[9][9]、row_[9][9]、block_[9][9]来储存数字在行、和网格是否被使用过。...N皇后问题: N不确定,因此我们需要在函数建立辅助空间,而不能建立成成员变量,约束条件为:在NxN网格任意摆放皇后Q,为了避免皇后之间不能相互攻击,该位置所在以及主、副对角线均只能有这一个

    77630

    牛客网剑指offer-3

    如果从数据读出奇数个数值,那么中位数就是所有数值排序之后位于中间数值。如果从数据读出偶数个数值,那么中位数就是所有数值排序之后中间个数平均值。...(注:小朋友编号是从0n-1) 分析 n个小朋友抽象成一个成环列表,使用取模方式求出当前m索引值,然后弹出该索引上元素,返回列表第一个元素。...例如 a b c e s f c s a d e e 矩阵包含一条字符串”bcced”路径,但是矩阵包含”abcb”路径,因为字符串第一个字符b占据了矩阵第一第二个格子之后,路径不能再次进入该格子...和n方格。..., cols, row, col): # 计算坐标和坐标的数位之和是否大于 if row / 10 + row % 10 + col / 10 + col % 10

    93220

    用Python时间序列转换为监督学习问题

    本教程包含: 如何创建把时间序列数据集转为监督学习数据函数; 如何让单变量时间序列数据适配机器学习 如何让多变量时间序列数据适配机器学习 时间序列 vs....给定一个 DataFrame, shift() 函数可被用来创建数据副本,然后 push forward (NaN 值组成添加到前面)或者 pull back(NaN 值组成添加到末尾)。...我们可以定义一个由 10 个数字序列组成伪时间序列数据集,该例子,DataFrame 单个一如下所示: from pandas import DataFrame df = DataFrame(...由于新不含数据,可以用 NaN 来表示“无数据”。 Shift 函数能完成该任务。我们可以把处理过插入原始序列旁边。...还可以看到,NaN 值得,已经自动从 DataFrame 移除。我们可以用随机数字长度输入序列重复该例子,比如 3。这可以通过把输入序列长度确定为参数来实现。

    3.8K20

    数据结构】数组和字符串(六):特殊矩阵压缩存储:稀疏矩阵——压缩稀疏(Compressed Sparse Column,CSC)

    4.2.1 矩阵数组表示 【数据结构】数组和字符串(一):矩阵数组表示 4.2.2 特殊矩阵压缩存储   矩阵是以按优先次序所有矩阵元素存放在一个一维数组。...它包含三个主要数组: 指针数组(Column Pointer Array):该数组长度为矩阵数加一(cols+1),每个元素存储对应列第一个非零元素在元素数组索引位置。...通过这种方式,CSC格式稀疏矩阵非零元素按进行存储,并通过指针数组和索引数组提供了对非零元素在矩阵位置快速访问。...然后,根据索引找到对应列起始位置,元素索引、索引和值分别赋给对应矩阵元素,并更新 row_indices 数组和 col_ptr 数组值。...通过遍历非零元素数组,值、索引和索引分别赋给对应矩阵元素,并更新 row_indices 数组和 col_ptr 数组值。

    12410

    数据结构】数组和字符串(九):稀疏矩阵链接存储:十字链表插入、查找、删除操作

    4.2.1 矩阵数组表示 【数据结构】数组和字符串(一):矩阵数组表示 4.2.2 特殊矩阵压缩存储   矩阵是以按优先次序所有矩阵元素存放在一个一维数组。...通过使用三元组(Triplet)来表示非零元素位置和值,每个三元组包含三个信息:非零元素索引、非零元素索引以及非零元素值。...节点包含了几个字段: LEFT:指向该节点在同一左邻非零元素地址信息。 UP:指向该节点在同一上邻非零元素地址信息。 ROW:存储该节点在矩阵行号。...关于循环链表: 【数据结构】线性表(三)循环链表各种操作(创建、插入、查找、删除、修改、遍历打印、释放内存空间) 在稀疏矩阵十字链表,每一和每一都有一个表头节点。...创建一个新节点,并将和值存储在节点相应字段

    5910
    领券