我遇到了这样的问题
import pandas as pd
df = pd.DataFrame({
'name': ['Alice','John','Peter','Richard'],
'salary': ['90000', '1000$', '80000', '900$']
})
有些细胞属于本国货币和一些美元。我想创建一个新的变量来划分国家货币和一些美元如下
df['$'] = 1
df.ix[df['salary'].str.contains("$") == True, '$' ] =70
虽然我得到了
df['$']
0 70
1 70
2 70
3 70
Name: $, dtype: int64
我想在这种情况下问题是$ meta字符,我需要将其转换为字符串。怎么解决?
答案 0 :(得分:1)
您需要numpy.where
,$
是正则表达式中的特殊字符,因此需要\
转义:
df['$'] = np.where(df['salary'].str.contains("\$"), 70, 1)
print (df)
name salary $
0 Alice 90000 1
1 John 1000$ 70
2 Peter 80000 1
3 Richard 900$ 70