如何在字符串的所有行中删除超过x个字符后的所有字符?

2024-09-30 12:25:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我的数据集中有一列,需要删除6个字符之后的所有字符。这列的每一行都有不同长度的字符串,所以我不能只从末尾取一个固定的值。我在网上搜索,只能找到删除第一个或最后一个字符的方法,但除了第一个字符外,什么都找不到

数据集如下所示:

   ComputerName     DaysCheckIn
0   CTE14001        160
1   CLB209LT11      144
2   WPK-REG         135
3   ATB190S01       91

我看到了使用map()lambdastrip()删除字符串的解决方案,但我不确定我是否正确地处理了这些字符串


Tags: 数据方法lambda字符串mapreg字符末尾
2条回答

通常,myString[:6]会给出字符串的前六个字符

细绳切片。此语法最多保留6个字符:

>>> s = '1234567890'
>>> s = s[:6]
>>> s
'123456'
>>> s = '1234'
>>> s = s[:6]
>>> s
'1234'

具体来说,如果使用pandas

>>> import pandas as pd
>>> df = pd.read_csv('data.csv')
>>> df
  ComputerName  DaysCheckIn
0     CTE14001          160
1  CLB209LT11S          144
2      WPK-REG          135
3    ATB190S01           91
>>> df['ComputerName']
0       CTE14001
1    CLB209LT11S
2        WPK-REG
3      ATB190S01
>>> # Take strings in named column and truncate to no more than 6 characters
>>> df['ComputerName'] = df['ComputerName'].str[:6]
>>> df
  ComputerName  DaysCheckIn
0       CTE140          160
1       CLB209          144
2       WPK-RE          135
3       ATB190           91

相关问题 更多 >

    热门问题