Python - 用数字替换 string/symbol
Python - replacing string/symbol with numbers
我在 pandas 数据框中有一些列由字符串组成,我想将其转换为数字(浮点数)。问题如下:一些条目仅包含 '-'
,而其他条目则如 '1E-06'
。有没有一种简单的方法可以只替换 '-'
符号,例如使用数字——例如使用 df['col'].str.replace('-','1000')
,而不修改字符串 '1E-06'
?否则,'1E-06'
也会被修改,例如转化为'1E100006'
,会影响后续转化为浮点数。
我会做:
for string in your_stuff:
string = string.replace('-','1000') if string == '-' else string;
或者使用
map(lambda string: string.replace('-','1000') if string == '-' else string, your_stuff)
我会这样做:
df = pd.DataFrame({'value':['-','1e-06']})
df['value'] = df['value'].replace('-', '1000')
或:
df['value'].replace('-', '1000', inplace=True)
输出:
value
100
1e-06
我在 pandas 数据框中有一些列由字符串组成,我想将其转换为数字(浮点数)。问题如下:一些条目仅包含 '-'
,而其他条目则如 '1E-06'
。有没有一种简单的方法可以只替换 '-'
符号,例如使用数字——例如使用 df['col'].str.replace('-','1000')
,而不修改字符串 '1E-06'
?否则,'1E-06'
也会被修改,例如转化为'1E100006'
,会影响后续转化为浮点数。
我会做:
for string in your_stuff:
string = string.replace('-','1000') if string == '-' else string;
或者使用
map(lambda string: string.replace('-','1000') if string == '-' else string, your_stuff)
我会这样做:
df = pd.DataFrame({'value':['-','1e-06']})
df['value'] = df['value'].replace('-', '1000')
或:
df['value'].replace('-', '1000', inplace=True)
输出:
value
100
1e-06