我在数据帧中有 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