我有很多列的数据框,其中一些是字符串,一些是数字。现在,当我将列名称打印为列表时,我得到如下内容:
df.columns.tolist()
>>>['name','code','date','401.2','405.6','507.3'...]
我想将数字列获取为 float 而不是字符串,我还没有找到任何方法可以做到这一点,是否可以做这样的事情? 我的最终目标是能够仅创建数字列名称的列表,因此如果您现在知道其他方式来分隔它们,当它们是字符串时也可以工作。
最佳答案
将自定义函数与 try- except
语句一起使用:
df = pd.DataFrame(columns=['name','code','date','401.2','405.6','507.3'])
def f(x):
try:
return float(x)
except:
return x
df.columns = df.columns.map(f)
print (df.columns.tolist())
['name', 'code', 'date', 401.2, 405.6, 507.3]
关于python - 将列名称从字符串更改为 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63682003/