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

