Python 如何将县名称转换为fips代码?(将县名称映射到其FIP)

Python 如何将县名称转换为fips代码?(将县名称映射到其FIP),python,python-3.x,pandas,dataframe,mapping,Python,Python 3.x,Pandas,Dataframe,Mapping,我有一个表,其中一列是县名称,其他列是各种属性 我想将这列县名称转换为fips代码 我有一个中间表,显示每个县的fips代码 以下是我拥有的数据(初始数据和中间数据)和我想要的数据(最终数据)的示例 这里有一个方法: initial_df = pd.DataFrame(initial_df) final_df = initial_df.assign(fips = initial_df['county'].map(dict(zip(*intermediate_df.values())))) 或

我有一个表,其中一列是县名称,其他列是各种属性

我想将这列县名称转换为fips代码

我有一个中间表,显示每个县的fips代码

以下是我拥有的数据(初始数据和中间数据)和我想要的数据(最终数据)的示例

这里有一个方法:

initial_df = pd.DataFrame(initial_df)

final_df = initial_df.assign(fips = initial_df['county'].map(dict(zip(*intermediate_df.values()))))
或:

两者都会导致:

>>> final_df
     county  values   fips
0    REAGAN     508  48383
1     UPTON     364  48461
2  HARDEMAN      26  47069
3     UPTON     870  48461
这里有一个方法:

initial_df = pd.DataFrame(initial_df)

final_df = initial_df.assign(fips = initial_df['county'].map(dict(zip(*intermediate_df.values()))))
或:

两者都会导致:

>>> final_df
     county  values   fips
0    REAGAN     508  48383
1     UPTON     364  48461
2  HARDEMAN      26  47069
3     UPTON     870  48461
您可以使用“合并”

import pandas as pd
initial_df = {'county': ['REAGAN', 'UPTON', 'HARDEMAN', 'UPTON'], 'values': [508, 
364, 26, 870]}
intermediate_df = {'county': ['REAGAN', 'HARDEMAN', 'UPTON'], 'fips': [48383, 47069, 
48461]}
final_df = {'county': ['REAGAN', 'UPTON', 'HARDEMAN', 'UPTON'], 'fips': [48383, 
48461, 47069, 48461], 'values': [508, 364, 26, 870]}
df1=pd.DataFrame(initial_df)
df2=pd.DataFrame(intermediate_df)
df3=df1.merge(df2)
print(df3)
输出是您的最终数据。

您可以使用“合并”

import pandas as pd
initial_df = {'county': ['REAGAN', 'UPTON', 'HARDEMAN', 'UPTON'], 'values': [508, 
364, 26, 870]}
intermediate_df = {'county': ['REAGAN', 'HARDEMAN', 'UPTON'], 'fips': [48383, 47069, 
48461]}
final_df = {'county': ['REAGAN', 'UPTON', 'HARDEMAN', 'UPTON'], 'fips': [48383, 
48461, 47069, 48461], 'values': [508, 364, 26, 870]}
df1=pd.DataFrame(initial_df)
df2=pd.DataFrame(intermediate_df)
df3=df1.merge(df2)
print(df3)

输出是最终的_-df。

您可以从
中间_-df
获取字典,并将其转换为键入县名称的字典,其中的值为
fips
。然后用它来映射
initial_df
中的
country
字段

mapping = {k: v for k, v in zip(*intermediate_df.values())}

df_final = pd.DataFrame(initial_df)
df_final['fips'] = df_final['county'].map(mapping)
>>> df_final
     county  values   fips
0    REAGAN     508  48383
1     UPTON     364  48461
2  HARDEMAN      26  47069
3     UPTON     870  48461

您可以从
intermediate_df
获取词典,并将其转换为键入县名称的词典,其中
fips
作为值。然后用它来映射
initial_df
中的
country
字段

mapping = {k: v for k, v in zip(*intermediate_df.values())}

df_final = pd.DataFrame(initial_df)
df_final['fips'] = df_final['county'].map(mapping)
>>> df_final
     county  values   fips
0    REAGAN     508  48383
1     UPTON     364  48461
2  HARDEMAN      26  47069
3     UPTON     870  48461