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


Pandas DataFrame String转Integer用法及代码示例


让我们看看 Pandas DataFrame 中将字符串转换为整数的方法:

方法一:使用Series.astype()方法。

用法:Series.astype(dtype, copy=True, errors=’raise’)

参数:此方法将采用以下参数:

  • dtype:要将系列转换为的数据类型。 (例如 str、float、int)。
  • copy:制作 DataFrame /系列的副本。
  • errors:转换为无效数据类型时引发错误。例如 dict 到字符串。 ‘raise’ 将引发错误,‘ignore’ 将通过而不引发错误。

返回:具有更改数据类型的系列。



最有效的方法之一是 Pandas astype()。它用于修改一组数据类型。当 DataFrame 是从 csv 文件创建时导入的列,并且数据类型是自动配置的,这几次是不应该的。例如,工资列可以作为字符串导入,但我们必须将其转换为浮点数才能进行操作。

范例1:

Python3


# import pandas library
import pandas as pd
# dictionary
Data = {'Name':['GeeksForGeeks','Python'],
          'Unique ID':['900','450']}
# create a dataframe object
df = pd.DataFrame(Data)
# convert string to an integer
df['Unique ID'] = df['Unique ID'].astype(int)
# show the dataframe
print (df)
print("-"*25)
# show the data types
# of each columns
print (df.dtypes)

输出:

dataframe with datatypes

范例2:

Python3


# import pandas library
import pandas as pd
# dictionary
Data = {'Algorithm':['Graph', 'Dynamic Programming',
                      'Number Theory',
                      ' Sorting And Searching'],
         
          'Problems':['62', '110', '40', '55']}
# create a dataframe object
df = pd.DataFrame(Data)
# convert string to integer
df['Problems'] = df['Problems'].astype(int)
# show the dataframe
print (df)
print("-"*25)
# show the data type
# of each columns
print (df.dtypes)

输出:



dataframe with data types

方法二:使用pandas.to_numeric()方法。

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

参数:此方法将采用以下参数:

  • arg:列表、元组、一维数组或系列。
  • errors:{‘ignore’, ‘raise’, ‘coerce’},默认 ‘raise’
    ->如果是 ‘raise’,那么无效解析会引发异常
    ->如果是 ‘coerce’,则无效解析将被设置为 NaN
    ->如果 ‘ignore’,则无效解析将返回输入
  • downcast:[default None] 如果不是 None,并且如果数据已成功转换为数字 dtype,则根据以下规则将结果数据向下转换为可能的最小数字 dtype:
    ->‘integer’ 或 ‘signed’:最小有符号 int dtype (min.:np.int8)
    ->‘unsigned’:最小的无符号整数 dtype(最小值:np.uint8)
    ->‘float’:最小浮点数据类型(最小值:np.float32)

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

pandas.to numeric() 是在 Pandas 中将参数转换为数字形式的广泛使用的方法之一。

范例1:

Python3


# import pandas library
import pandas as pd
# dictionary
Data = {'Name':['GeeksForGeeks','Python'],
          'Unique ID':['900','450']}
# create a dataframe object
df = pd.DataFrame(Data)
# convert integer to string
df['Unique ID'] = pd.to_numeric(df['Unique ID'])
# show the dataframe
print (df)
print("-"*30)
# show the data type
# of each columns
print (df.dtypes)

输出:

dataframe with datatypes

范例2:

Python3


# import pandas library
import pandas as pd
# dictionary
Data = {'Algorithm':['Graph', 'Dynamic Programming',
                      'Number Theory',
                      ' Sorting And Searching'],
         
          'Problems':['62', '110', '40', '55']}
# create a dataframe object
df = pd.DataFrame(Data)
# convert strint to an integer
df['Problems'] = pd.to_numeric(df['Problems'])
# show the dataframe
print (df)
print("-"*30)
# show the data type
# of each column
print (df.dtypes)

输出:

dataframe with datatypes




相关用法


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