如何用分隔符分割 pandas 列并选择首选元素作为替换

2023-11-25

我有以下熊猫数据框:

import pandas as pd
df = pd.DataFrame({ 'gene':["1 // foo // blabla",
                                   "2 // bar // lalala",
                                   "3 // qux // trilil",
                                   "4 // woz // hohoho"], 'cell1':[5,9,1,7], 'cell2':[12,90,13,87]})
df = source_df[["gene","cell1","cell2"]]

它看起来像这样:

                 gene  cell1  cell2
0  1 // foo // blabla      5     12
1  2 // bar // lalala      9     90
2  3 // qux // trilil      1     13
3  4 // woz // hohoho      7     87

我想要得到的是这样的:

   gene    cell1  cell2
0   foo       5     12
1   bar       9     90
2   qux       1     13
3   woz       7     87

即选择分割字符串的第二个元素//作为分隔符。

我能做的最好的就是:

df["gene"] = df["gene"].str.split(" // ")
df
Out[17]:
               gene  cell1  cell2
0  [1, foo, blabla]      5     12
1  [2, bar, lalala]      9     90
2  [3, qux, trilil]      1     13
3  [4, woz, hohoho]      7     87

正确的做法是什么?


使用向量str.split这会比使用快得多apply在大型数据集上:

In [13]:
df['gene'] = df['gene'].str.split('//').str[1]
df

Out[13]:
   cell1  cell2   gene
0      5     12   foo 
1      9     90   bar 
2      1     13   qux 
3      7     87   woz 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何用分隔符分割 pandas 列并选择首选元素作为替换 的相关文章

  • Pandas 字符串提取所有匹配项

    我正在学习 pandas 系列字符串方法中的正则表达式操作 我能够从字符串中提取第一个数字 但我的正则表达式与第二个数字不匹配 如何捕获这两个数字 注意第二行 第二个元素在这里是 NAN CODE import pandas as pd d
  • scipy.misc.imshow RuntimeError('无法执行图像视图')

    我正在测试scipy misc imshow https docs scipy org doc scipy 0 15 1 reference generated scipy misc imshow html我得到了运行时错误 无法执行图像查
  • 如何移动我的图像? python 3.10.4 pygame

    我会移动我的图像 图像是matiskinfinal png 我尝试将像素添加到 x 或其他我不知道它是什么的东西 因为我真的是 python 的初学者 pygame但是是 x x 变化 但图像没有移动 import os import py
  • Python sqlite3参数化删除表

    我在 python 中删除 sqlite3 表时遇到问题 我正在使用标准sqlite3模块 self conn sqlite3 connect sql drop table self conn execute sql u table nam
  • Spyder 导入模块出错

    我正在尝试在 Spyder 中使用 sklearn 一开始 当我尝试导入它时 我收到 ImportError No module named sklearn 然后我用 PYTHONPATH 管理器设置 PATH 然后使用工具菜单中的 更新模
  • 在 vim 折叠线中语法高亮 Python

    我发现代码折叠 http en wikipedia org wiki Code folding帮助我更好地组织我的文件 因此 在我的底部 vimrc 我启用vim代码折叠 http vimdoc sourceforge net htmldo
  • 使用 boto3 从 s3 下载时使用 filename 作为文件名

    我正在使用 boto3 上传文件 如下所示 client boto3 client s3 aws access key id id aws secret access key key client upload file tmp test
  • 是否有更矢量化的方法来沿轴执行 numpy.outer ?

    gt gt gt x np array a0 a1 b0 b1 gt gt gt y np array x0 x1 y0 y1 gt gt gt iterable np outer x i y i for i in xrange x sha
  • 使用 python 只读取 Excel 中的可见行

    我想只读取 python 中 Excel 工作表中的可见行 输入 Excel表 所以当我过滤时 作为 python 中的输出 在本例中我将仅获得可见数据 1 行 这是我的代码 from openpyxl import load workbo
  • PyCharm - 如何挂起所有线程

    我们使用 PyCharm 5 0 1 进行多线程调试 当它在断点处停止时 只有特定线程停止 而所有其他线程继续 这使得 冻结时刻 和检查参数值以及其他线程的当前状态变得困难 当其中一个线程在断点处停止时 是否可以挂起所有线程 这在最新的 P
  • 检查多个 pd.DataFrame 是否相等

    是否有一种 Pythonic 方式 无循环或递归 来检查是否超过两个pd DataFrames 例如 pd DataFrames 列表 彼此相等吗 就像是 all x equals dfs 0 for x in dfs with dfs数据
  • 使用 Python 脚本打开特定文件类型?

    如何使 Python 脚本成为特定文件类型 例如 foo 的默认应用程序 例如 当我双击 Finder Explorer 中的文件时 我希望该文件在 Python 脚本中打开 这可以在 Win 和 或 OS X 中实现吗 如果重要的话 该应
  • 在python中安装scipy模块时出错

    我正在尝试使用 pip 在 python 中安装 scipy 模块 它显示以下错误 Command c users sony appdata local programs python python35 32 python exe u c
  • 如何修改 contenteditable 元素的innerHTML

    我使用 Selenium 与 Chrome driver 和 python3 6 来测试网站 我在网页中有代码片段如下 div class 3F6QL 2WovP div class 39LWd Type a message div div
  • 使用 statsmodels.formula.api 中的 ols - 如何删除常数项?

    我正在遵循第一个例子statsmodels教程 http statsmodels sourceforge net devel http statsmodels sourceforge net devel 如何指定在 ols 中不使用常数项进
  • 如何可视化多维数据上的 kmeans 聚类

    我在 mnist 数据集上使用 kmeans 聚类算法 并希望可视化聚类后的图 到目前为止我做了这个 from mnist import MNIST mndata MNIST Datasets X train y train mndata
  • 如何保持 python 3 脚本 (Bot) 运行

    不是母语英语 抱歉 英语可能很蹩脚 我也是编程新手 您好 我正在尝试使用 QueryServer 连接到 TeamSpeak 服务器来创建机器人 经过几天的努力 它有效 只有 1 个问题 而我却被这个问题困扰了 如果您需要检查 这是我正在使
  • Pip 突然使用了错误版本的 Python

    在 os x 上使用 pip 时遇到一个奇怪的问题 据我所知 快速查看我的 bash history 似乎可以确认 我最近没有对我的配置进行任何更改 唉 pip 命令似乎突然使用了与以前不同的 python 版本 到目前为止 我使用命令 p
  • Matplotlib 中的 TwoSlopeNorm 未按预期工作

    我正在尝试创建一个具有发散颜色图的绘图 该颜色图在零附近不对称 In this https stackoverflow com a 20146989 6288682例如 DivergingNorm函数被使用并产生我想要的 然而 我使用的是更
  • 在至少 7 天内连续三天登录该产品的用户

    我有一个用于用户参与的数据框 df 如下所示 time stamp user id 2013 01 01 10 05 23 1 2013 01 03 16 35 23 1 2013 01 06 11 06 35 1 2013 01 10 1

随机推荐

  • PHP 函数重命名权限被拒绝

    在服务器中 脚本创建新文件夹 将 chmod 设置为 0777 但随后它尝试将文件移动到该文件夹 但出现错误 权限被拒绝 mkdir new 1 0777 chmod new 1 0777 mkdir new 1 new 2 0777 ch
  • 如何在 JavaScript 中获取两个日期之间的差异?

    我正在创建一个应用程序 它可以让您定义带有时间范围的事件 我想在用户选择或更改开始日期时自动填写结束日期 但是 我不太清楚如何获得两个时间之间的差异 以及如何使用该差异创建新的结束日期 在 JavaScript 中 可以通过调用将日期转换为
  • Font Awesome 未出现在 Internet Explorer 8 中

    我们最近开发了一个网站 其设计强烈依赖 Font Awesome 我们使用 before content 及其提供的 CSS 的标准实现 由于某些原因 Font Awesome 未在 IE8 中显示 我花了相当多的时间进行故障排除并尝试各种
  • jQuery:如何在元素显示时调用函数

    我想在 div 显示时 显示后 调用一个函数 有谁知道我该怎么做 我尝试使用类似的东西 someDiv bind show function alert example 但我不确定我是否以正确的方式做到这一点 或者是否可能实现这一点 有任何
  • Java 可以在运行时创建变量吗?

    例如 假设我想 提取 String fruits Pear Banana Apple 分成三个独立的变量 例如 for int i 0 i fruits length i of course there s no eval in Java
  • 如何在 Java 中表示一个范围?

    假设一个整数应该在以下范围内 0 2147483647 我想检查整数变量是否落在这个范围内 我知道它可以通过一个简单的 if else 语句来完成 但是有没有更有效的方法来检查它是否在范围内 我宁愿不这样做 if foo gt 0 foo
  • 用于正确对齐列的 Shell 脚本

    我有一个 3 列 制表符分隔的文件 例如 activity log manager Manager reserve rm hreserver rm log manager Manager mo apprv mgr1 Approving Ma
  • keras.load_model() 无法识别 Tensorflow 的激活函数

    我使用保存了 tf keras 模型tf keras save model功能 为什么tf keras load model抛出异常 代码示例 import tensorflow as tf from tensorflow import k
  • 页面上存在一个或多个错误

    收到 页面上存在一个或多个错误 但无法找到确切的错误 这是截图 Edit 1 我正在尝试上传尺寸为 1536 x 2048 像素的 iPad 屏幕截图 以获取最大高分辨率肖像 全屏 并锁定 但出现奇怪的错误 如下所示 注意 我尝试从 chr
  • 从 HTML
    到 Microsoft Word

    我有一个 HTMLfigure img and figcaption标签 我想将它们转换为 Microsoft Word 文档 所引用的图像img应该插入到Word文档中 并且figcaption应转换为其标题 也保留图号 我尝试用 Wor
  • 如何使用公钥加密字符串并使用私钥解密?

    我想用服务器上的密钥加密密码并在服务器端解密加密的密码 这是我在我的应用程序中使用的代码 To change this license header choose License Headers in Project Properties
  • 增加android模拟器的内存容量?

    如何增加Android模拟器的内存容量 我有一个 16MB 的二进制文件 我必须解析它 但是当我第二次执行时它说 Installation error INSTALL FAILED INSUFFICIENT STORAGE 有人可以帮忙吗
  • 我怎样才能在vim中快速输入像“==========”这样的行

    我正在编辑重组文本文件 我经常需要在一行中放置一些字符 例如 并且我希望该行的长度与前一行匹配 我应该如何在 vim 中执行此操作 a long long title Thanks 另一个可行的方法 yypv r
  • C# FileStream:写入大文件的最佳缓冲区大小?

    假设我正在将几个文件写入磁盘 大小在 2MB 到 5GB 之间 FileStream 的合理缓冲区值是多少 使用几兆字节的缓冲区大小是否明智 或者我应该坚持使用千字节缓冲区 默认缓冲区大小为 4 KiB 另外 请看这里 NET 的顺序文件编
  • NSWidgetExtensionContext openURL Swift

    我一直在尝试实现一个按钮来从其小部件打开我的 iOS 应用程序 我意识到这个问题已经在论坛上被打败了 但我找不到我收到的具体错误的解释 也许你们中一些更有经验的 iOS 开发人员可以对此做出一些解释 我正在使用 XCode 8 1 和 Sw
  • 如何定义类型参数不能为 Any 的 scala 方法

    在下面的示例中 我想定义一个contains无法编译的方法a and b不属于同一基本类型 In contains1暗示 如果a is Seq Int b 是String T导出为Any 并且它可以编译 这不是我想要的 In contain
  • Vim:通过 ssh 访问系统剪贴板 - Linux 到 OS X

    我是 Linux 用户 经常需要通过 SSH 在远程 OS X 服务器上工作 我更喜欢 vim neovim 编辑器 但我在通过 SSH 向系统剪贴板复制 粘贴时遇到问题 当我尝试复制行时 yy它保存在远程 OS X 剪贴板上 有没有办法将
  • 为什么需要使用 docker 将“pam_loginuid”设置为其“可选”值?

    为了运行 ssh 守护进程服务 pam loginuid必须将 etc pam d sshd 中的条目设置为可选 如官方示例适用于 Ubuntu 13 10 对于以前版本的 Ubuntu 此条目是可选的吗 它在 Ubuntu 13 10 之
  • 行尾有“^M”字符

    当我在 Unix 环境中运行特定的 SQL 脚本时 我在 SQL 脚本的每一行末尾看到一个 M 字符 因为它回显到命令行 我不知道 SQL 脚本最初是在哪个 SQL 脚本上创建的 造成这种情况的原因是什么以及如何解决 这是由 DOS Win
  • 如何用分隔符分割 pandas 列并选择首选元素作为替换

    我有以下熊猫数据框 import pandas as pd df pd DataFrame gene 1 foo blabla 2 bar lalala 3 qux trilil 4 woz hohoho cell1 5 9 1 7 cel