Python 如何通过引用其他表中包含列类型详细信息来更改列数据类型?

Python 如何通过引用其他表中包含列类型详细信息来更改列数据类型?,python,pandas,Python,Pandas,我需要更改df2列数据类型,如df1列类型详细信息中所述 例如:age需要更改为int,salary需要更改为float df1: ColumnName ColumnType 0 Name string 1 Age int 2 Emp_Id string 3 salary float df2: Name Age salary Emp_Id 0 Tom 20 1000 111 1 nick

我需要更改
df2
列数据类型,如
df1
列类型详细信息中所述

例如:
age
需要更改为
int
salary
需要更改为
float

df1

  ColumnName ColumnType  
0 Name       string   
1 Age        int   
2 Emp_Id     string
3 salary     float
df2

    Name   Age  salary  Emp_Id
0   Tom     20  1000    111
1   nick    21  2000    222
2   krish   19  4500    333
3   Tommy   18  6500    444
4   Andy    27  5666    555
5   rick    20  2866    666
df2.d类型

Name      object
Age       object
salary    object
Emp_Id    object
这里有一个方法:

for i,r in df1.iterrows():
  if r['ColumnType'] == 'string':
    r['ColumnType'] = 'str'
  df2[r['ColumnName']] = df2[r['ColumnName']].astype(r['ColumnType'])

df2.dtypes
输出:

Name       object
Age         int64
salary    float64
Emp_Id     object
dtype: object
这里有一个方法:

for i,r in df1.iterrows():
  if r['ColumnType'] == 'string':
    r['ColumnType'] = 'str'
  df2[r['ColumnName']] = df2[r['ColumnName']].astype(r['ColumnType'])

df2.dtypes
输出:

Name       object
Age         int64
salary    float64
Emp_Id     object
dtype: object