用国家/地区名称熊猫替换州

时间:2019-12-25 10:01:51

标签: python python-3.x pandas

有没有办法在数据框中将状态缩写更改为“美国”:

'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'}

因此每个缩写都应变成“美国”

2 个答案:

答案 0 :(得分:1)

我认为您可以只使用 javax.naming.NoInitialContextException","exception_message":"Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial","stacktrace":"javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial (也适用于df.replace):

pd.Series

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

答案 1 :(得分:1)

怎么样?

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