请大师帮忙把含有千分号的字符串数字转换为纯数字
本帖最后由 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)>>>>>>>裕主题合 df['A'] = df['A'].str.replace(r'\(.*\)', '') 您好!您已经成功地解决了第一个问题,将带有千分号的字符串数字转换为纯数字。对于第二个问题,您可以使用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
希望这对您有帮助!如果您有其他问题,请随时提问。
页:
[1]