当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Pandas DataFrame Strings转Floats用法及代码示例


在本文中,我们将研究在 pandas 数据帧中将字符串转换为浮点数的不同方法。现在,让我们创建一个以“年份”和“通货膨胀率”为列的 DataFrame 。

Python3


# importing pandas library
import pandas as pd
  
# dictionary
Data = {'Year':['2016', '2017', 
                 '2018', '2019'],
        'Inflation Rate':['4.47', '5', 
                           '5.98', '4.1']}
# create a dataframe
df = pd.DataFrame(Data)
  
# show the dataframe
print (df)
  
# show the datatypes
print(df.dtypes)

输出:

dataframe

方法一:使用Python Pandas DataFrame.astype()用法及代码示例



该方法用于将 pandas 对象转换为指定的 dtype。

用法:DataFrame.astype(self:~ FrameOrSeries, dtype, copy:bool = True, errors:str = ‘raise’)
 

返回值:cast:调用者的类型

例:在此示例中,我们将“通货膨胀率”列的每个值转换为浮点数。

Python3


# importing pandas library
import pandas as pd
  
# dictionary
Data = {'Year':['2016', '2017', 
                 '2018', '2019'],
        'Inflation Rate':['4.47', '5', 
                           '5.98', '4.1']}
# create a dataframe
df = pd.DataFrame(Data)
  
# converting each value 
# of column to a string
df['Inflation Rate'] = df['Inflation Rate'].astype(float)
  
# show the dataframe
print(df)
  
# show the datatypes
print (df.dtypes)

输出:

dataframe string to float

方法二:使用Python pandas.to_numeric用法及代码示例函数。



该函数用于将参数转换为数值类型。

用法:pandas.to_numeric(arg, errors=’raise’, downcast=None)
 

返回值:如果解析成功,则为数字。请注意,返回类型取决于输入。如果是 Series,则为 Series,否则为 ndarray。

范例1:在此示例中,我们将“通货膨胀率”列的每个值转换为浮点数。

码:

Python3


# importing pandas library
import pandas as pd
  
# creating a dictionary
Data = {'Year':['2016', '2017', 
                 '2018', '2019'],
          'Inflation Rate':['4.47', '5', 
                             '5.98', '4.1']}
# create a dataframe
df = pd.DataFrame(Data)
  
# converting each value of column to a string
df['Inflation Rate'] = pd.to_numeric(df['Inflation Rate'])
  
# show the dataframe
print(df)
  
# show the data types
print (df.dtypes)

输出:

dataframe string to float

范例2:有时,我们可能没有将浮点值表示为字符串。因此,pd.to_numeric() 函数将显示错误。为了消除这个错误,我们可以使用errors='coerce',将这个位置的值转换为NaN。

代码

Python3


# importing pandas as pd
import pandas as pd
  
# dictionary
Data = {'Year':['2016', '2017',
                 '2018', '2019'],
         'Inflation Rate':['4.47', '5', 
                           'No data', '4.1']}
  
# create a dataframe
df = pd.DataFrame(Data)
  
# converting each value of column to a string
df['Inflation Rate'] = pd.to_numeric(df['Inflation Rate'],
                                     errors = 'coerce')
  
# show the dataframe
print(df)
  
# show the data types
print (df.dtypes)

输出:

dataframe string to float with error handling

注意:字符串数据类型显示为对象。




相关用法


注:本文由纯净天空筛选整理自parasmadan15大神的英文原创作品 How to Convert Strings to Floats in Pandas DataFrame?。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。