所以我想把数字列中的第一个数字改为+233,假设第一个数字是0,基本上我想让数字中的所有行都像行保罗一样两个列都是字符串对象。
的期望:仅当=="0"
df["numbers"]
列中值的第一个字符应替换为"+233"
df = pd.DataFrame([[ken, 080222333222],
[ben, +233948433],
[Paul, 0800000073]],
columns=['name', 'number'])`
希望我理解你的版本,试试这个:注意-我删除了第一个0并将其替换为+233
import pandas as pd
df = pd.DataFrame([["ken", "080222333222"], ["ben", "+233948433"], ["Paul", "0800000073"]], columns=['name', 'number'])
def convert_number(row):
if row[0] == '0':
row = "+233" + row[1:]
return row
df['number'] = df['number'].apply(convert_number)
print(df)
可以直接使用replace
df['relace_Col']=df.number.str.replace(r'^d', '+233',1)
制作
name number relace_Col
0 ken 080222333222 +23380222333222
1 ben +233948433 +233948433
2 Paul 0800000073 +233800000073
复制上述
的完整代码import pandas as pd
df = pd.DataFrame([['ken', '080222333222'], ['ben', '+233948433'],
['Paul', '0800000073']], columns=['name', 'number'])
df['relace_Col']=df.number.str.replace(r'^d', '+233',1)
print(df)