Python 如何在没有范围的情况下转换Str?

Python 如何在没有范围的情况下转换Str?,python,pandas,dataframe,Python,Pandas,Dataframe,下面的代码可以在范围内转换str,例如,下面的代码可以在5范围内转换为float或int。我想将整列的现有数据转换为int或float。我怎么能做到?我需要帮助吗 df= pd.DataFrame(range(5), columns=['a']) df.a = df.a.astype(float) 当我这样编写代码时,它会给我一个错误: df= pd.DataFrame, columns=['a']) df.a = df.a.astype(float) 什么样的错误?这种语法应该有效 imp

下面的代码可以在范围内转换str,例如,下面的代码可以在5范围内转换为float或int。我想将整列的现有数据转换为int或float。我怎么能做到?我需要帮助吗

df= pd.DataFrame(range(5), columns=['a'])
df.a = df.a.astype(float)
当我这样编写代码时,它会给我一个错误:

df= pd.DataFrame, columns=['a'])
df.a = df.a.astype(float)

什么样的错误?这种语法应该有效

import numpy as np
df.a = df.a.astype(np.float32) 
如果数据最初是字符串类型,则错误可能与空格字符有关。尝试先执行以下操作:

df['a'] = df['a'].apply(lambda x : x.replace(' ', '')

正如其他人所说,问题在于
df=pd.DataFrame,columns=['a'])

您需要提供数据以转换为数据帧。下面是一个将列表提供给数据帧的示例。请注意,运行时结果打印为“numpy.float64”

import pandas as pd

salary = {'a':[20, 21, 19, 18]}

df= pd.DataFrame(data)

df.a = df.a.astype(float)

print(type(df.a[0]))

df=pd.DataFrame,columns=['a'])
看起来语法无效。请提供一些示例数据。你有什么意见?期望的输出是什么?经验测试\分数口头\分数工资0 5 8 9 000 1 6 8 6 45000 2 5 6 7 60000 3 2 10 10 65000 4 7 9 6 70000我想要转换工资(列)到int.
df.a=df.a.astype(int)
有什么问题?