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

Pandas/Python -创建新列,仅从列字符串中提取数字

在Pandas/Python中,可以使用正则表达式和字符串操作来创建新列,仅从列字符串中提取数字。

首先,我们需要确保已经导入了Pandas库:

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

假设我们有一个名为df的数据框(DataFrame),其中包含一个名为"column_name"的列,其值是包含数字的字符串。我们希望从该列中提取出数字并创建一个新列。

下面是实现的步骤:

  1. 使用正则表达式提取数字:
  2. 使用正则表达式提取数字:
  3. 此代码行使用str.extract函数和正则表达式(\d+)从"column_name"列的每个字符串中提取一个或多个数字,并将结果存储在"new_column"列中。
  4. 如果提取的数字为多个,可以选择只保留第一个数字,可以使用.str.extract函数的expand参数设置为False,并添加.str[0],如下所示:
  5. 如果提取的数字为多个,可以选择只保留第一个数字,可以使用.str.extract函数的expand参数设置为False,并添加.str[0],如下所示:
  6. 这将只提取并存储每个字符串中的第一个数字。

完整示例代码如下所示:

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

# 创建示例数据
data = {'column_name': ['abc123def', 'xyz456', '123']}
df = pd.DataFrame(data)

# 提取数字并创建新列
df['new_column'] = df['column_name'].str.extract('(\d+)', expand=False).str[0]

print(df)

输出结果为:

代码语言:txt
复制
  column_name new_column
0  abc123def        123
1     xyz456        456
2         123        123

在这个例子中,我们成功地从"column_name"列的每个字符串中提取了数字,并将结果存储在了"new_column"列中。

请注意,以上代码中没有提及腾讯云相关产品和链接地址,因为这与问题本身无关。如果您需要了解与云计算相关的腾讯云产品和链接,您可以查阅腾讯云官方文档或咨询腾讯云的技术支持团队。

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

相关·内容

对比Excel,Python pandas删除数据框架中的列

标签:Python与Excel,pandas 删除列也是Excel中的常用操作之一,可以通过功能区或者快捷菜单中的命令或者快捷键来实现。...上一篇文章,我们讲解了Python pandas删除数据框架中行的一些方法,删除列与之类似。然而,这里想介绍一些新方法。取决于实际情况,正确地使用一种方法可能比另一种更好。...准备数据框架 创建用于演示删除列的数据框架,仍然使用前面给出的“用户.xlsx”中的数据。 图1 .drop()方法 与删除行类似,我们也可以使用.drop()删除列。...唯一的区别是,在该方法中,我们需要指定参数axis=1。下面是.drop()方法的一些说明: 要删除单列:传入列名(字符串)。 删除多列:传入要删除的列的名称列表。...实际上我们没有删除,而是创建了一个新的数据框架,其中只包含用户姓名、城市和性别,有效地“删除”了其他两列。然后,我们将新创建的数据框架赋值给原始数据框架以完成“删除操作”。注意代码中的双方括号。

7.2K20

Python-科学计算-pandas-08-列字符串操作1

系统:Windows 7 语言版本:Anaconda3-4.3.0.1-Windows-x86_64 编辑器:pycharm-community-2016.3.2 pandas:0.19.2 这个系列讲讲...Python的科学计算版块 今天讲讲pandas模块: 对列的每一个元素进行同样的字符串操作 今天讲其中的3个操作: 切片,字符串替换,字符串连接 Part 1:目标 ?...已知Df某列都是字符串,每一个字符串都有一个文件与其对应,目标在于获取每一个文件的名称 存在以下规律: 字符串的最后一个字符是D或者F 其中D表示该字符串是一个txt文本文件的名称 其中F表示该字符串是一个...pdf文本文件的名称 这些文件的名称最终组成是: FINAL_列元素.文件类型 实现方法: 提取该列每个元素的最后一位字符 根据规则进行替换,获取文件类型 字符串连接,加上常量 FINAL_ 和 ....综上,整体效果是按列整体进行字符串操作,无需遍历循环,大大减少代码量

1.1K20
  • Python-科学计算-pandas-09-df列字符串操作2

    系统:Windows 7 语言版本:Anaconda3-4.3.0.1-Windows-x86_64 编辑器:pycharm-community-2016.3.2 pandas:0.19.2 这个系列讲讲...Python的科学计算版块 今天讲讲pandas模块: 对列的每一个元素进行同样的字符串操作 今天讲其中的1个操作: split Part 1:目标 已知Df某列都是字符串,每一个字符串都有一个文件与其对应...后的文件类型 组合两者 加入到原来的Df中 修改前后文件名 Part 2:代码 import pandas as pd dict_1 = {"file_name": ["P10-CD1.txt",...:\n", se_1) print(type(se_1)) print("\n") df_1["new_file_name"] = se_1 print("加入新的文件名:\n", df_1) print...之间对应每个元素的字符串连接操作,生成一个Series对象 df_1["new_file_name"] = se_1,df_1新增一列new_file_name 本文为原创作品

    50410

    利用pandas我想提取这个列中的楼层的数据,应该怎么操作?

    一、前言 前几天在Python白银交流群【东哥】问了一个Pandas数据处理的问题。问题如下所示:大佬们,利用pandas我想提取这个列中的楼层的数据,应该怎么操作?...其他【暂无数据】这些数据需要删除,其他的有数字的就正常提取出来就行。 二、实现过程 这里粉丝的目标应该是去掉暂无数据,然后提取剩下数据中的楼层数据。看需求应该是既要层数也要去掉暂无数据。...【瑜亮老师】给了一个指导,如下所示:如果是Python的话,可以使用下面的代码,如下所示: # 使用正则表达式提取数字 df['楼层数'] = df['楼层'].str.extract(r'(\d+)'...) # 过滤并删除不包含数字的行 df = df.dropna(subset=['楼层数']) 经过指导,这个方法顺利地解决了粉丝的问题。...这篇文章主要盘点了一个Pandas数据处理的问题,文中针对该问题,给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。

    12510

    python提取字符串中的数字「建议收藏」

    一、isdigit()函数 isdigit()函数是检测输入字符串是否只由数字组成。如果字符串只包含数字则返回 True 否则返回 False。...该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判断,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。...语法: filter(function, iterable) 1、过滤出列表中的所有奇数: def is_odd(n): return n % 2 == 1 tmplist = filter...ftr = filter(_not_divisible(n), ftr ) #3 for n in primes(): if n < 100: print('now:',n) else: break 三、提取一段字符串中的数字...列表转字符串 number = ['12', '333', '4'] number_ = "".join(number) # 列表转字符串 print(number_) # 123334

    4K20

    盘点csv文件中工作经验列工作年限数字正则提取的四个方法

    大家好,我是Python进阶者。 一、前言 前几天在Python黄金交流群有个叫【安啦!】的粉丝问了一个Python正则表达式提取数字的问题,这里拿出来给大家分享下,一起学习下。...下图是她的原始数据列,关于【工作经验】列的统计。 现在她的需求是将工作年限提取出来,用于后面的多元回归分析。 二、解决过程 这里提供四个解决方法,感谢【Python进阶者】和【月神】提供的方法。...前面两种是【Python进阶者】的,后面两个是【月神】提供的,一起来学习下吧!...三、总结 大家好,我是Python进阶者。...这篇文章基于粉丝提问,盘点了csv文件中工作经验列工作年限数字正则提取的三个方法,代码非常实用,可以举一反三,文中针对该问题给出了具体的解析和代码演示,帮助粉丝顺利解决了问题。 最后感谢粉丝【安啦!】

    1.5K20

    如何在 Pandas 中创建一个空的数据帧并向其附加行和列?

    Pandas是一个用于数据操作和分析的Python库。它建立在 numpy 库之上,提供数据帧的有效实现。数据帧是一种二维数据结构。在数据帧中,数据以表格形式在行和列中对齐。...在本教程中,我们将学习如何创建一个空数据帧,以及如何在 Pandas 中向其追加行和列。...Pandas.Series 方法可用于从列表创建系列。列值也可以作为列表传递,而无需使用 Series 方法。 例 1 在此示例中,我们创建了一个空数据帧。...中的 Pandas 库创建一个空数据帧以及如何向其追加行和列。...我们还了解了一些 Pandas 方法、它们的语法以及它们接受的参数。这种学习对于那些开始使用 Python 中的 Pandas 库对数据帧进行操作的人来说非常有帮助。

    28030

    Python pandas读取Excel文件

    Sheet_name可以是字符串或整数,代表想要pandas读取的工作表。 header通常是一个整数,用于告诉要将工作表的哪一行用作数据框架标题。 names通常是可以用作列标题的名称列表。...usecols可以是整数、字符串或列表,用于指示pandas仅从Excel文件中提取某些列。...示例Excel文件中的第四个工作表从第4行开始。在没有特别指示的情况下阅读该表,pandas会认为我们的数据没有列名。 图2:非标准列标题,数据不是从第1行开始 这并不好,数据框架需要一些清理。...记住,Python使用基于0的索引,因此第4行的索引为3。 图3:指定列标题所在行 names 如果不喜欢源Excel文件中的标题名,可以使用names参数创建自己的标题名。...图4:自定义列标题名称 usecols 通过指定usecols,我们限制加载到Python中的Excel列,如果你有一个大型数据集,并且不需要所有列,就可以使用这个参数。

    4.5K40

    通宵翻译Pandas官方文档,写了这份Excel万字肝货操作!

    在 Pandas 中,您使用特殊方法从/向 Excel 文件读取和写入。 让我们首先基于上面示例中的数据框,创建一个新的 Excel 文件。 tips.to_excel("....pandas 可以创建 Excel 文件、CSV 或许多其他格式。 数据操作 1. 列操作 在电子表格中,公式通常在单个单元格中创建,然后拖入其他单元格以计算其他列的公式。...按位置提取子串 电子表格有一个 MID 公式,用于从给定位置提取子字符串。获取第一个字符: =MID(A2,1,1) 使用 Pandas,您可以使用 [] 表示法按位置位置从字符串中提取子字符串。...请记住,Python 索引是从零开始的。 tips["sex"].str[0:1] 结果如下: 4. 提取第n个单词 在 Excel 中,您可以使用文本到列向导来拆分文本和检索特定列。...填充柄 在一组特定的单元格中按照设定的模式创建一系列数字。在电子表格中,这将在输入第一个数字后通过 shift+drag 或通过输入前两个或三个值然后拖动来完成。

    19.6K20

    玩转数据处理120题|Pandas版本

    ]}) 注:1-20题均基于该数据框给出 2 数据提取 题目:提取含有字符串"Python"的行 难度:⭐⭐ 期望结果 grammer score 0 Python 1.0 7 Python...Python解法 df.columns = ['col1','col2','col3'] 89 数据提取 题目:提取第一列中不在第二列出现的数字 难度:⭐⭐⭐ Python解法 df['col1'][~...df['col1'].isin(df['col2'])] 90 数据提取 题目:提取第一列和第二列出现频率最高的三个数字 难度:⭐⭐⭐ Python解法 temp = df['col1'].append...(df['col2']) temp.value_counts()[:3] 91 数据提取 题目:提取第一列中可以整除5的数字位置 难度:⭐⭐⭐ Python解法 np.argwhere(df['col1...,clo3三列顺序颠倒 难度:⭐⭐ Python解法 df.iloc[:, ::-1] 94 数据提取 题目:提取第一列位置在1,10,15的数字 难度:⭐⭐ Python解法 df['col1'].take

    7.6K41

    Python科学计算之Pandas

    来源:Python程序员 ID:pythonbuluo 在我看来,对于Numpy以及Matplotlib,Pandas可以帮助创建一个非常牢固的用于数据挖掘与分析的基础。...Pandas为我们提供了多种方法来过滤我们的数据并提取出我们想要的信息。有时候你想要提取一整列。可以直接使用列标签,非常容易。 ?...注意到当我们提取了一列,Pandas将返回一个series,而不是一个dataframe。是否还记得,你可以将dataframe视作series的字典。...如果你的行有数字索引,你可以使用iloc引用他们: ? iloc仅仅作用于数字索引。它将会返回该行的一个series。在返回的series中,这一行的每一列都是一个独立的元素。...例如,如果你有一列年份的数据而你希望创建一个新的列显示这些年份所对应的年代。Pandas对此给出了两个非常有用的函数,apply和applymap。 ? 这会创建一个名为‘year‘的新列。

    2.9K00

    Pandas进阶修炼120题,给你深度和广度的船新体验

    来源:早起Python 本文为你介绍Pandas基础、Pandas数据处理、金融数据处理等方面的一些习题。 Pandas 是基于 NumPy 的一种数据处理工具,该工具为了解决数据分析任务而创建。...Part 1 Pandas基础 1.将下面的字典创建为DataFrame data = {"grammer":["Python","C","Java","GO",np.nan,"SQL","PHP","...Python"], "score":[1,2,np.nan,4,5,6,7,10]} df = pd.DataFrame(data) df 2.提取含有字符串"Python...,min函数,因为我们的数据中是20k-35k这种字符串,所以需要先用正则表达式提取数字 import re # 方法一:apply + 自定义函数 def func(df): lst = df...]) temp.value_counts().index[:3] 91.提取第一列中可以整除5的数字位置 np.argwhere(df['col1'] % 5==0) 92.计算第一列数字前一个与后一个的差值

    6.2K31

    Pandas进阶修炼120题|完整版

    1 创建DataFrame 题目:将下面的字典创建为DataFrame data = {"grammer":["Python","C","Java","GO","R","SQL","PHP","Python...答案: df = pd.DataFrame(data) 本期所有题目均基于该数据框给出 2 数据提取 题目:提取含有字符串"Python"的行 难度:⭐⭐ 期望结果 grammer score...,min函数,因为我们的数据中是20k-35k这种字符串,所以需要先用正则表达式提取数字 import re for i in range(len(df)): str1 = df.ix[i,2]...题目:提取第一列中不在第二列出现的数字 难度:⭐⭐⭐ 答案 df['col1'][~df['col1'].isin(df['col2'])] 90 数据提取 题目:提取第一列和第二列出现频率最高的三个数字...难度:⭐⭐⭐ 答案 temp = df['col1'].append(df['col2']) temp.value_counts().index[:3] 91 数据提取 题目:提取第一列中可以整除5的数字位置

    12.7K106

    经常被人忽视的:Pandas 文本数据处理!

    毋庸置疑,Pandas是使用最广泛的 Python 库之一,它提供了许多功能和方法来执行有效的数据处理和数据分析。 我们平时的操作,大多围绕着数字的处理,这是因为大家习惯将表格数据与数字联系起来。...如果将微信id这列的文本数据,全部转换为小写,在Pandas中可以这样操作。 df["微信"] = df["微信"].str.lower() df 我们可以通过组合姓氏和名字,来创建姓名这列。...既可以在特定位置插入创建新列,也可以使用 cat 方法组合字符串(此处还可设置分隔符sep,这里并未设置)。...例如,户籍地址这列包括省份和城市,我们可以通过拆分此列来提取城市的信息。...df[df["户籍地址"].str.contains("黑龙江")] replace()方法可用于替换字符串中的字符序列,通过该方法可以修改Pandas中的文本数据。

    1.3K20

    正则提取字符串中的数字_正则表达式忽略空格python

    文章目录 python从字符串中提取数字 使用正则表达式,用法如下: 解题思路: 代码如下: 匹配指定字符串开头的数字 匹配包含指定字符串开头的数字 匹配时间,17:35:24...匹配时间,20181011 15:28:39 python从字符串中提取数字 使用正则表达式,用法如下: ## 总结 ## ^ 匹配字符串的开始。...## $ 匹配字符串的结尾。 ## \b 匹配一个单词的边界。 ## \d 匹配任意数字。 ## \D 匹配任意非数字字符。 ## x?...## 正则表达式中的点号通常意味着 “匹配任意单字符” 解题思路: 既然是提取数字,那么数字的形式一般是:整数,小数,整数加小数; 所以一般是形如:----.-----; 根据上述正则表达式的含义,可写出如下的表达式...\d*') pattern.findall(string) # ['0.9863265752792358'] 匹配包含指定字符串开头的数字 pattern = re.compile(r'(?

    3.3K20

    玩转数据处理120题|Pandas&R

    ) # 也可以用tribble横向建tibble 注:1-20题均基于该数据框给出 2 数据提取 题目:提取含有字符串"Python"的行 难度:⭐⭐ 期望结果 grammer score 0...的方法 names(df) <- c('col1','col2','col3') 89 数据提取 题目:提取第一列中不在第二列出现的数字 难度:⭐⭐⭐ Python解法 df['col1'][~df['...(df$col1 %in% df$col2),1] 90 数据提取 题目:提取第一列和第二列出现频率最高的三个数字 难度:⭐⭐⭐ Python解法 temp = df['col1'].append(df...题目:提取第一列中可以整除5的数字位置 难度:⭐⭐⭐ Python解法 np.argwhere(df['col1'] % 5==0) R语言解法 which(df['col1'] %% 5==0) 92...[:, ::-1] R语言解法 df %>% select(col3,col2,everything()) 94 数据提取 题目:提取第一列位置在1,10,15的数字 难度:⭐⭐ Python解法

    6.1K41
    领券