鱼C论坛

 找回密码
 立即注册
查看: 2007|回复: 2

[已解决]请大师帮忙把含有千分号的字符串数字转换为纯数字

[复制链接]
发表于 2023-5-5 10:05:58 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 futui 于 2023-5-5 10:20 编辑

data = [['银置混裕主题合(8886012)', '8,113.25'], ['裕主题合(986012)', '-10,833.54'], ]
df = pd.DataFrame(data,columns=['A','G'])
df

请大师帮忙,谢谢
1,已解决:df['G'] = df['G'].str.replace(',', '').astype(float)
把含有千分号的字符串数字,转换为纯数字,如'8,113.25'  转化为 8113.25



2,把A列的括号及其数字删除
裕主题合(986012)>>>>>>>  裕主题合
最佳答案
2023-5-5 11:30:00
您好!您已经成功地解决了第一个问题,将带有千分号的字符串数字转换为纯数字。对于第二个问题,您可以使用Pandas中的 str.replace() 函数配合正则表达式来删除A列的括号及其数字。这里是一个示例:
import pandas as pd

data = [['银置混裕主题合(8886012)', '8,113.25'], ['裕主题合(986012)', '-10,833.54'], ]
df = pd.DataFrame(data, columns=['A', 'G'])

# 将带有千分号的字符串数字转换为纯数字
df['G'] = df['G'].str.replace(',', '').astype(float)

# 删除A列的括号及其数字
df['A'] = df['A'].str.replace(r'\(\d+\)', '', regex=True)

print(df)

这将输出如下DataFrame:
         A         G
0  银置混裕主题合   8113.25
1     裕主题合 -10833.54

希望这对您有帮助!如果您有其他问题,请随时提问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2023-5-5 10:23:08 | 显示全部楼层
df['A'] = df['A'].str.replace(r'\(.*\)', '')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-5-5 11:30:00 | 显示全部楼层    本楼为最佳答案   
您好!您已经成功地解决了第一个问题,将带有千分号的字符串数字转换为纯数字。对于第二个问题,您可以使用Pandas中的 str.replace() 函数配合正则表达式来删除A列的括号及其数字。这里是一个示例:
import pandas as pd

data = [['银置混裕主题合(8886012)', '8,113.25'], ['裕主题合(986012)', '-10,833.54'], ]
df = pd.DataFrame(data, columns=['A', 'G'])

# 将带有千分号的字符串数字转换为纯数字
df['G'] = df['G'].str.replace(',', '').astype(float)

# 删除A列的括号及其数字
df['A'] = df['A'].str.replace(r'\(\d+\)', '', regex=True)

print(df)

这将输出如下DataFrame:
         A         G
0  银置混裕主题合   8113.25
1     裕主题合 -10833.54

希望这对您有帮助!如果您有其他问题,请随时提问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-23 09:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表