如何使用一个函数对不同的列执行多个 pandas 数据类型更改?



我在数据帧中有 41 列,在这 22 列中,我想将数据类型更改为"str",除了我想更改为"float"的 1 列。

目前,我正在执行此行代码以将单个列更改为数据类型 str 或 float,现在对其他 20 列执行此操作:

df.active  = df.active.astype(str)
df.total_spent = df.total_spent.astype(float)

如何编写一个函数,将我要创建的列转换为字符串,并将上面的一列作为浮点数?

如果您想要列列表,请告诉我,我认为现在太多了。

提前谢谢你。

我相信需要按名称列表或位置和转换的 seelct 列:

df = pd.DataFrame({'A':list('abcdef'),
'B':[4,5,4,5,5,4],
'C':[7,8,9,4,2,3],
'D':[1,3,5,7,1,0],
'E':[5,3,6,9,2,4],
'F':list('aaabbb')})

如果要按名称选择列:

c = ['B', 'C']
df[c] = df[c].astype(str)

如果需要,请按位置选择列:

p = [1,2]
df.iloc[:, p] = df.iloc[:, p].astype(str)

print (df.dtypes)
A    object
B    object
C    object
D     int64
E     int64
F    object
dtype: object

最新更新