我想将数据库中几列的数据类型从Int / Float更改为Object。
我正在尝试使用for循环进行此操作。但是数据类型没有改变。
admin option
给定列的数据类型应更改为Object。
答案 0 :(得分:0)
据我所知DataFrame.astype不处理就地参数。参见https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.astype.html怎么样:
cols = [
"REGION_RATING_CLIENT",
"REGION_RATING_CLIENT_W_CITY",
"REG_REGION_NOT_LIVE_REGION",
"REG_REGION_NOT_WORK_REGION",
"LIVE_REGION_NOT_WORK_REGION",
"REG_CITY_NOT_LIVE_CITY",
"REG_CITY_NOT_WORK_CITY",
"LIVE_CITY_NOT_WORK_CITY"
]
df[cols] = df[cols].astype(object)
考虑以下示例:
import pandas as pd
df = pd.DataFrame({
'A': [1,2],
'B': [1.2,3.4]
})
print(df.dtypes)
df[['A','B']] = df[['A','B']].astype(object)
print(df.dtypes)
返回:
A int64
B float64
dtype: object
A object
B object
dtype: object