将每隔一行移动到一个新列并将 pandas python 分组

2023-11-25

我有一个示例数据集,它比我的实际数据集小得多,它实际上是一个文本文件,我想将其作为 pandas 表读取并用它做一些事情:

import pandas as pd
d = {
     'one': ['title1', 'R2G', 'title2', 'K5G', 'title2','R14G', 'title2','R2T','title3', 'K10C', 'title4', 'W7C', 'title4', 'R2G', 'title5', 'K8C']
    }
df = pd.DataFrame(d)

示例数据集如下所示:

df

Out[20]:  
      one
0   title1
1      R2G
2   title2
3      K5G
4   title2
5     R14G
6   title2
7      R2T
8   title3
9     K10C
10  title4
11     W7C
12  title4
13     R2G
14  title5
15     K8C

我添加了第二列,名为“值”:

df.insert(1,'value','')
df

Out[22]: 
      one      value
0   title1
1      R2G
2   title2
3      K5G
4   title2
5     R14G
6   title2
7      R2T
8   title3
9     K10C
10  title4
11     W7C
12  title4
13     R2G
14  title5
15     K8C

我想要first将每隔一行移动到“值”列:

      one    value
0   title1    R2G          
1   title2    K5G  
2   title2    R14G 
3   title2    R2T    
4   title3    K10C          
5   title4    W7C            
6   title4    R2G           
7   title5    K8C  

I then想要按标题名称分组,因为同一标题可能有多个值:

     one     value
0   title1    R2G          
1   title2    K5G, R14G, R2T   
2   title3    K10C          
3   title4    W7C , R2G                        
4   title5    K8C  

如何才能实现这一目标?


通过使用以下方式对列进行切片来构造新的 dfiloc和一个步骤参数:

In [185]:
new_df = pd.DataFrame({'one':df['one'].iloc[::2].values, 'value':df['one'].iloc[1::2].values})
new_df

Out[185]:
      one value
0  title1   R2G
1  title2   K5G
2  title2  R14G
3  title2   R2T
4  title3  K10C
5  title4   W7C
6  title4   R2G
7  title5   K8C

那么你可以groupby在“一”上并应用lambda在“值”列上,然后join价值:

In [188]:
new_df.groupby('one')['value'].apply(','.join).reset_index()

Out[188]:
      one         value
0  title1           R2G
1  title2  K5G,R14G,R2T
2  title3          K10C
3  title4       W7C,R2G
4  title5           K8C
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将每隔一行移动到一个新列并将 pandas python 分组 的相关文章

随机推荐

  • CSS:如何垂直和水平对齐图像?

    我的页面有空间容纳图像 例如最大尺寸为 100x100 的图像 用户可以上传任何尺寸的图像 Web 应用程序将在保持宽高比的情况下将其大小调整为 100x100 因此 图像的大小可以调整为 75x100 或 100x75 等 无论调整大小的
  • 如何使用 Django 中内置的“password_reset”视图?

    我在 urls py 中设置了以下条目 r password reset django contrib auth views password reset 但一旦我去http 127 0 0 1 8000 password reset 我收
  • 在 colgroup 中使用文本对齐中心

    我的页面中有一个表格 我使用 colgroups 以相同的方式格式化此列中的所有单元格 它适用于背景颜色等 但我似乎无法弄清楚为什么文本对齐中心不起作用 它不会将文本居中对齐 Example table cellspacing 5 tabl
  • 如何在flutter中显示.9.png格式的图片?

    这是我的代码 new Image asset images launcher border highlight 9 png fit BoxFit fill 当我改变图像的宽度和高度时 它的显示效果很差 但在原生android中显示正常 fl
  • 在原子变量的上下文中什么是总线锁定?

    我使用 C 很长时间了 现在我开始学习汇编并了解处理器的工作原理 不仅仅是为了好玩 而且我必须将其作为测试程序的一部分 在学习汇编时 我开始听到一些在讨论多线程时到处听到的术语 因为我在科学计算中进行了大量的多线程处理 我正在努力了解全貌
  • 用 Java 处理下载

    我如何能够使用 Java 中的 HttpResponse 处理下载 我向特定站点发出了 HttpGet 请求 该站点返回要下载的文件 我该如何处理这个下载 InputStream 似乎无法处理它 或者也许我使用它的方式错误 假设你实际上正在
  • Fortran 可变参数宏中的 CPP/GPP(加上 Fortran // 连接)

    我正在尝试编译一个巨大的 世界知名的数值天气预报代码 主要用 Fortran 90 编写 使用cpp广泛且成功地与 PGI Intel 和 gfortran 合作 现在 我继承了一个版本 其中专家添加了数百个可变参数宏案例 他们使用英特尔和
  • 安装 IE9 后 Visual Studio 2012 崩溃(故障模块 ntdll.dll)

    Okay 自从 Visual Studio RTM 在我的工作计算机上发布以来 我一直在运行它 上周五我安装 更新了 IE 至版本 9 以测试 JavaScript 问题 安装 IE9 并重新启动计算机后 Visual Studio 201
  • .NET:Type.GetHashCode 是否保证唯一?

    我有人使用 Type GetHashCode 就好像它是主键一样 我认为这是一个可怕的想法 但我想知道是否有某种记录的特殊情况表明没有两种类型具有相同的哈希码 GetHashCode 没有任何保证 除了它可能会随机分布 不是唯一的 文档特别
  • VSTS 构建失败并出现 MSB3325,无法导入 PFX 密钥文件

    我创建了一个构建定义来在 Visualstudio com 上在线构建桌面应用程序 该应用程序在任务构建解决方案 Visual Studio 构建 中失败 并出现以下错误 错误 C Program Files x86 Microsoft V
  • 如何在 Play Framework 2 中调用接受可变数量参数的模板

    Play Framework 2 模板语言非常好 然而 尽管它 受到 微软 Razor 语言的 启发 但一个重要的设计决策是不同的 如何 逃回 HTML Razor 会寻找 HTML 样式的标签 而 Play 2 使用某种启发式方法 我正在
  • 计算第 N 个置换步骤?

    我有一个字母 a z 的 char 26 通过嵌套的 for 语句 我正在生成一个序列列表 例如 aaa aaz aba abb abz zzy zzz 目前 该软件被编写为从 aaa zzz 生成所有可能值的列表 然后维护一个索引 并遍历
  • MATLAB:需要制作 4D 绘图(3D + 颜色/颜色)

    我需要制作一个 3D 表面 其中颜色代表第四个变量 我知道 冲浪 与我需要的类似 但事实并非如此 基本上 我有以下变量 t 1 米 y 1 n a 1 o 这些应该是三个笛卡尔坐标轴 我还有一个变量 S 其尺寸为 m x n x o 基本上
  • 避免脚本中某些参数的混合

    我有一个脚本可以使用获取数十个参数 标志Getopt Long 某些标志不允许混合 例如 linux unix不允许一起供应 我知道我可以使用if陈述 有没有更干净 更好的方法来做到这一点 if如果我不想允许多种标志组合 块可能会变得丑陋
  • C/C++中有复制数组的函数吗?

    我知道Java有一个函数System arraycopy 复制数组 我想知道 C 或 C 中是否有一个函数可以复制数组 我只能找到通过使用复制数组的实现for循环 指针等 但是有没有可以用来复制数组的库函数 既然您要求 C 解决方案 inc
  • 如何使用 JavaScript 将字符串的波斯语和阿拉伯语数字转换为英语?

    如何使用简单的函数将波斯 阿拉伯数字转换为英文数字 arabicNumbers persianNumbers 它是相同的架构 但代码页不同 Oneliner英语 阿拉伯语和波斯语数字之间所有 6 种可能的翻译 警告 请注意 此解决方案效率不
  • Eclipse 为带有“m”后缀的域对象和类成员生成 getter/setter

    我有一个关于域对象中生成的 getter 和 setter 方法的小问题 我想为我的源代码使用通用的样式指南 该风格指南的一部分说 我以成员前缀 m 开头每个类成员名称 class User String mName List
  • 集合 <__NSArrayM: 0x7fa1f2711910> 在枚举时发生突变

    有很多类似标题的问题 但没有一个对我有帮助 但我可以联系这个解决方案 NSGenericException 原因 集合 在枚举时发生了变化用我的问题来提问 因为这个终止正在发生 当我添加 删除带有数组的字符串对象时 Error 由于未捕获的
  • 在Python 3.2中绘制n条边的多边形

    我必须用 Python 编写一个程序来读取值 n 并在屏幕上绘制一个 n 边的多边形 我可以使用海龟图形模块或graphics py 模块 我知道当 n 输入的点数然后在屏幕上单击 n 次时如何绘制多边形 但我在了解如何将多条边转换为多边形
  • 将每隔一行移动到一个新列并将 pandas python 分组

    我有一个示例数据集 它比我的实际数据集小得多 它实际上是一个文本文件 我想将其作为 pandas 表读取并用它做一些事情 import pandas as pd d one title1 R2G title2 K5G title2 R14G