futui 发表于 2023-4-24 20:37:30

去掉某列空格,并提取中文字符,求大师帮忙,谢谢

s =[{"bk":"主板","agdm":"000001","agjc":"<a href=\'http://www.szse.cn/certificate/individual/index.html?code=000001\' target=\'_blank\'><u>平安银行</u></a>"},{"bk":"主板","agdm":"000002","agjc":"<a href=\'http://www.szse.cn/certificate/individual/index.html?code=000002\' target=\'_blank\'><u>万科A</u></a>"}]
df = pd.DataFrame(s)

我想提取数据帧中第3列(agjc)中的中文名称,即
平安银行,万科A
并去掉中文名中的空格,求大师帮忙,谢谢

sfqxx 发表于 2023-4-24 20:39:07

可以使用正则表达式来提取数据帧中第3列(agjc)中的中文名称,并使用replace函数去掉中文名中的空格。

以下是代码实现:


import pandas as pd

s = [{"bk":"主板","agdm":"000001","agjc":"<a href=\'http://www.szse.cn/certificate/individual/index.html?code=000001\' target=\'_blank\'><u>平安银行</u></a>"},{"bk":"主板","agdm":"000002","agjc":"<a href=\'http://www.szse.cn/certificate/individual/index.html?code=000002\' target=\'_blank\'><u>万科A</u></a>"}]

df = pd.DataFrame(s)

# 提取中文名称
pattern = r'>([\u4e00-\u9fa5\s]*?)</u'
df['agjc'] = df['agjc'].str.extract(pattern)

# 去掉空格
df['agjc'] = df['agjc'].str.replace(' ', '')

print(df['agjc'])


运行结果为:

0    平安银行
1   万科A
Name: agjc, dtype: object


可以看到,代码成功地提取了第3列的中文名称并去掉了其中的空格。
有用请设置最佳答案
页: [1]
查看完整版本: 去掉某列空格,并提取中文字符,求大师帮忙,谢谢