Pandas将列转换为浮动
时间:2020-02-23 14:42:05 来源:igfitidea点击:
在本教程中,我们将看到如何将列转换为在Pandas 浮动。
转换字符串列以浮动Pandas
有两种方法可以将字符串列转换为Pandas浮动。
使用Astype(float)方法
我们可以使用Astype(float)转换字符串以在Pandas 浮动。
这是语法:
df['Column'] = df['Column'].astype(float)
这是一个例子。
我们将转换数据类型的列 Rating
从对象到 float64
此示例的示例员工数据。
名称 | 评分 |
---|---|
Andy | 8.6 |
Prateek | 7 |
import pandas as pd emp_df = pd.DataFrame({'Name': ['Andy','Prateek'], 'Rating': ['8.6','7']}) print("-------Original Dataframe-------\n",emp_df) print("-------Original Dataframe's data types-------\n",emp_df.dtypes) emp_df['Rating'] = emp_df['Rating'].astype(float) print("-------Updated Dataframe with float data type for Rating column-------\n",emp_df) print("-------Updated Dataframe's data types-------\n",emp_df.dtypes)
输出:
-------Original Dataframe------ Name Rating 0 Andy 8.6 1 Prateek 7 -------Original Dataframe's data types------ Name object Rating object dtype: object -------Updated Dataframe with float data type for Rating column------ Name Rating 0 Andy 8.6 1 Prateek 7.0 -------Updated Dataframe's data types------ Name object Rating float64 dtype: object
使用TONUMERIC()方法
我们可以使用 toNumeric()
我们在列中可能具有非数值的方法。
这是语法:
df['Column'] = pd.to_numeric(df['Column'],errors='coerce')
如果列为非数字值,则它们将被转换为 NaN
。
以下是此示例的示例员工数据。
名称 | 评分 |
---|---|
Andy | 8.6 |
Riyanka | NA |
Prateek | 7 |
Neha | NA |
让我们说评级不适用于新员工riyanka和Sneha。
在此方案中,我们将从字符串转换额定列数据类型以使用TONUMERIC()方法浮动。
import pandas as pd emp_df = pd.DataFrame({'Name': ['Andy','Riyanka','Prateek','Sneha'], 'Rating': ['8.6','NA','7','NA']}) print("-------Original Dataframe-------\n",emp_df) print("-------Original Dataframe's data types-------\n",emp_df.dtypes) emp_df['Rating'] = pd.to_numeric(emp_df['Rating'],errors='coerce') print("-------Updated Dataframe with float data type for Rating column-------\n",emp_df) print("-------Updated Dataframe's data types-------\n",emp_df.dtypes)
输出:
-------Original Dataframe------ Name Rating 0 Andy 8.6 1 Riyanka NA 2 Prateek 7 3 Sneha NA -------Original Dataframe's data types------ Name object Rating object dtype: object -------Updated Dataframe with float data type for Rating column------ Name Rating 0 Andy 8.6 1 Riyanka NaN 2 Prateek 7.0 3 Sneha NaN -------Updated Dataframe's data types------ Name object Rating float64 dtype: object
如我们所见,我们已将额定值列转换为 float64
。
将整数列转换为在Pandas 浮动
有两种方法可以将整数列转换为Pandas浮动。
使用Astype(float)方法
我们可以使用Astype(float)转换字符串以在Pandas 浮动。
这是语法:
df['Column'] = df['Column'].astype(float)
这是一个例子。
我们将转换数据类型的列 Salary
从整数到 float64
import pandas as pd emp_df = pd.DataFrame({'Name': ['Rohan','Abhishek'], 'Salary': [80000,40000]}) print("-------Original Dataframe-------\n",emp_df) print("-------Original Dataframe's data types-------\n",emp_df.dtypes) # Converting int to float data type emp_df['Salary'] = emp_df['Salary'].astype(float) print("-------Updated Dataframe with float data type for Salary column-------\n",emp_df) print("-------Updated Dataframe's data types-------\n",emp_df.dtypes)
输出:
-------Original Dataframe------ Name Salary 0 Rohan 80000 1 Abhishek 40000 -------Original Dataframe's data types------ Name object Salary int64 dtype: object -------Updated Dataframe with float data type for Salary column------ Name Salary 0 Rohan 80000.0 1 Abhishek 40000.0 -------Updated Dataframe's data types------ Name object Salary float64 dtype: object
使用TONUMERIC()方法
我们可以使用 toNumeric()
我们在列中可能具有非数值的方法。
这是语法:
df['Column'] = pd.to_numeric(df['Column'], downcast='float')
这是一个例子:
import pandas as pd emp_df = pd.DataFrame({'Name': ['Neha','Amrita'], 'Salary': [70000,60000]}) print("-------Original Dataframe-------\n",emp_df) print("-------Original Dataframe's data types-------\n",emp_df.dtypes) emp_df['Salary'] = pd.to_numeric(emp_df['Salary'], downcast='float') print("-------Updated Dataframe with float data type for Rating column-------\n",emp_df) print("-------Updated Dataframe's data types-------\n",emp_df.dtypes)
输出:
-------Original Dataframe------ Name Salary 0 Neha 70000 1 Amrita 60000 -------Original Dataframe's data types------ Name object Salary int64 dtype: object -------Updated Dataframe with float data type for Rating column------ Name Salary 0 Neha 70000.0 1 Amrita 60000.0 -------Updated Dataframe's data types------ Name object Salary float32 dtype: object