如何仅提取此表中列的数字部分? (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 中另一个表中列的每个不同值