删除datafram中所有数据点中的额外字符

2024-05-19 01:14:00 发布

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

我有一个数据框,每个字段中都有字段名:

   index          name      ngram        field     slop  
0  index=1  name=unknown   ngram=00   field=body   slop=0   
1  index=2  name=unknown   ngram=01   field=body   slop=0   
2  index=3  name=unknown   ngram=02   field=body   slop=0

我想删除数据帧中所有数据点上的额外字段名。 结果应该是:

   index          name      ngram        field     slop  
0  1            unknown       00          body      0   
1  2            unknown       01          body      0   
2  3            unknown       02          body      0

我可以通过遍历数据帧的每个数据点来删除额外的字段名:

for r in range(df.shape[0]):
    for c in range(df.shape[1]):
        df.iloc[r][c]=df.iloc[r][c].split('=')[1]

这是非常缓慢,它不是Python。你知道吗

如何删除高性能的额外字段名?你知道吗


Tags: 数据nameinfielddfforindexrange
2条回答

从字符串中删除字符:

data['index'] = data['index'].map(lambda x: x.lstrip('index='))

未经测试的迭代示例:

for column in data:        
    data[column] = data[column].map(lambda x: x.lstrip(column + '='))

使用^{}

df = df.replace(r'\w+\=(\w+$)', r'\1',regex=True)

print (df)

    index   name    ngram   field   slop
0    1    unknown    00      body    0
1    2    unknown    01      body    0
2    3    unknown    02      body    0

相关问题 更多 >

    热门问题