如何从包含字符串类型值的两个列中减去?无值表示为“—”并应在结果中显示“—”。结果还应为字符串值类型。
来源
df1 = pd.DataFrame({'x': ['a', 'b', 'c'], 'y': ['5', '---', '7']})
x y
0 'a' '5'
1 'b' '---'
2 'c' '7'
df2 = pd.DataFrame({'x': ['a', 'b', 'c'], 'y': ['1', '2', '---']})
x y
0 'a' '1'
1 'b' '2'
2 'c' '---'
目标
df3 = df1 - df2
x y
0 'a' '4'
1 'b' '---'
2 'c' '---'
pd.to_numeric(..., errors='coerce')
将其转换为数字,然后减去特定的列,并使用fillna('--').astype(str)
将其转换回字符串。 - rafaelc