Python 我只想在列中保留一个值

Python 我只想在列中保留一个值,python,dataframe,Python,Dataframe,我有一列的值如下:“(42837666.84 ms)11:53:57.667” 我只想在单元格中保留ms旁边的数字:42837666.84,并删除时间戳和ms以及() 我如何才能在整个专栏中做到这一点,因为它是随机的?您可以使用split,示例如下: import pandas as pd d = {'col': ["(42837666.84 ms) 11:53:57.667", "(42837666.84 ms) 11:53:57.667"]} df = pd.DataFrame(data

我有一列的值如下:“(42837666.84 ms)11:53:57.667” 我只想在单元格中保留ms旁边的数字:42837666.84,并删除时间戳和ms以及()
我如何才能在整个专栏中做到这一点,因为它是随机的?

您可以使用
split
,示例如下:

import pandas as pd

d = {'col': ["(42837666.84 ms) 11:53:57.667", "(42837666.84 ms) 11:53:57.667"]}

df = pd.DataFrame(data=d)
print(df)

                             col
0  (42837666.84 ms) 11:53:57.667
1  (42837666.84 ms) 11:53:57.667

#here you split twice, once on 'ms' and retrun 0
df['col'] = df['col'].str.split('ms').str[0]
#here you split on '(' and return 1
df['col']  = df['col'].str.split('(').str[1]

print(df)
            col
0  42837666.84 
1  42837666.84 

您可以尝试组合使用
分区
条带

value =  "(42837666.84 ms) 11:53:57.667"
value = value.partition('ms')[0]
value = value.strip('()')
print(value)
输出:
42837666.84

  • 分区
    是一种简化的
    拆分
    ——用于剪切不需要的任何内容
  • strip
    将从字符串的开头和结尾删除
    分隔符

您可以尝试为分区使用不同于
'ms'
的参数,这最适合您。

当我尝试使用该参数时,我得到的错误是“AttributeError:'list'对象没有属性'partition'”,而不是整个包含值的列@HebaR
partition
string
的方法,因此它不能与list一起使用。它给了我一个错误:AttributeError:“DataFrame”对象没有属性“col”,因为您需要将“col”更改为列的实际名称!当然,我在第一部分中这样做了,但是当我在df.col.str.split('ms').str[0]部分中更改它时,它给了我一个无效的语法,这就是为什么我留下了第二个语法。可能是因为您的列名中有空格,请将代码更改为df['column name'].strI不理解列名是HW Timestamp您的意思是代码行应该是:df['HW Timestamp'].str=df.HW Timestamp.str.split('ms')。str[0]?