gpt4 book ai didi

python - 如何使用一个函数在不同列上执行多个 pandas 数据类型更改?

转载 作者:太空宇宙 更新时间:2023-11-04 02:24:27 26 4
gpt4 key购买 nike

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

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

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

如何编写一个函数,将我想要的列作为字符串,并将其上方的一列作为 float ?

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

提前致谢。

最佳答案

我相信需要按名称列表或按职位和转换来选择列:

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

关于python - 如何使用一个函数在不同列上执行多个 pandas 数据类型更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50798811/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com