如何仅提取此表中列的数字部分? (Python)

Posted

技术标签:

【中文标题】如何仅提取此表中列的数字部分? (Python)【英文标题】:How to extract only the numerical part of the columns in this table? (Python) 【发布时间】:2018-06-19 00:48:41 【问题描述】:

我正在用 Python 编辑一个 CSV 文件,我删除了一些列,创建了一个索引并进行了过滤。但是我无法提取列的数字部分。如何仅从列中提取数字信息?

仅提取列数据的数字部分。示例:

市场时间 = 11: 18: 26.549

整列应该是这样的:

11:18:26,549

将熊猫导入为 pd

df = pd.read_csv('C:/Users/TECNOLOGIA/datos.csv',names=['LocalTime', 'Message', 'MarketTime', 'Symbol', 'Type', 'Price', '大小','来源','条件','Tick','Mmid','SubMarketId','日期'], usecols=['Type','MarketTime','Price'],index_col='Type') df=(df.loc['Type=0']) 打印 (df)

【问题讨论】:

How do I find numeric columns in Pandas?的可能重复 请在问题中包含数据,而不是将来可能会消失的图像。 我们不是代码编写服务。还请包括您尝试过的内容以及卡住的地方。另外,请包含数据数组,以便我们更好地帮助您 @Aiven:不,不是这样。 请在您的问题中将您的数据添加为 text。图片(或图片链接)不便于我们回答问题。 【参考方案1】:

调整pandas applying regex to replace values 给出的 Regex/Pandas StringMethods 答案,您将得到如下内容:

import pandas as pd

df = pd.DataFrame(['MarketTime=11:18:28.792','MarketTime=11:18:28.792'], columns=['MarketTime'])

df['MarketTime'] = df['MarketTime'].str.extract(r'([\d:,.]+)')
print(df)

【讨论】:

请清理并格式化您的原始问题,删除图片链接。 感谢 Alex,我正在尝试处理列中的所有值。是否可以将其应用于整个列? 嗯,它正在将提取应用于整个列,你看到了什么?

以上是关于如何仅提取此表中列的数字部分? (Python)的主要内容,如果未能解决你的问题,请参考以下文章

如何将一个表中列的每个不同值映射到 Hive 中另一个表中列的每个不同值

Python:如何快速创建仅包含大型 Excel 工作表中特定列的 pandas 数据框?

如何计算表中列的每个值?

如何复制临时表中列的默认约束?

如何修改 MySQL 表中列的大小?

如何检查我的表中列的任何值是不是包含 MS ACCESS 2003 中的尾随空格?