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