用国名替换州

2024-10-04 11:26:44 发布

您现在位置:Python中文网/ 问答频道 /正文

有没有办法在数据框中将州缩写改为“USA”:

'CIBA GEIGY CORP,BASIC PHARMACEUT RES,ARDSLEY,NY 10502'

'CIBA GEIGY CORP,BASIC PHARMACEUT RES,ARDSLEY,USA 10502'

我试过使用字典:df.Authors.str.translate(us_states).apply(lambda x: x.translate(us_states)),但它不起作用。 你有什么想法吗?你知道吗

我需要修改的字典:

us_states= {'AL': 'USA',
 'AK': 'USA',
 'AZ': 'USA',
 'AR': 'USA',
 'CA': 'USA',
 'CO': 'USA',
 'CT': 'USA',
 'DE': 'USA',
 'DC': 'USA',
 'FL': 'USA',
 'GA': 'USA',
 'HI': 'USA',
 'ID': 'USA',
 'IL': 'USA',
 'IN': 'USA',
 'IA': 'USA',
 'KS': 'USA',
 'KY': 'USA',
 'LA': 'USA',
 'ME': 'USA',
 'MD': 'USA',
 'MA': 'USA',
 'MI': 'USA',
 'MN': 'USA',
 'MS': 'USA',
 'MO': 'USA',
 'MT': 'USA',
 'NE': 'USA',
 'NV': 'USA',
 'NH': 'USA',
 'NJ': 'USA',
 'NM': 'USA',
 'NY': 'USA',
 'NC': 'USA',
 'ND': 'USA',
 'MP': 'USA',
 'OH': 'USA',
 'OK': 'USA',
 'OR': 'USA',
 'PW': 'USA',
 'PA': 'USA',
 'PR': 'USA',
 'RI': 'USA',
 'SC': 'USA',
 'SD': 'USA',
 'TN': 'USA',
 'TX': 'USA',
 'UT': 'USA',
 'VT': 'USA',
 'VI': 'USA',
 'VA': 'USA',
 'WA': 'USA',
 'WV': 'USA',
 'WI': 'USA',
 'WY': 'USA'}

所以每个缩写都应该变成“USA”


Tags: 数据字典basicrestranslateusstatescorp
2条回答

我想你可以直接使用df.replace(也适用于pd.Series):

df['Authors'].replace(us_states, inplace=True, regex=True)。你知道吗

此处为文档: https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.replace.html

这个怎么样?你知道吗

pattern = '|'.join(','+state+' ' for state in us_states)
df.Authors.str.replace(pattern, ',USA ')

相关问题 更多 >