Pandas dataframe.infer_objects()函数 - 为输入对象列推断更好的数据类型

Pandas dataframe.infer_objects()函数

Pandas dataframe.infer_objects()函数的作用是为输入对象列推断更好的数据类型。此函数尝试对象-类型columns的软转换,保留非对象和不可转换的columns不变。推理规则与常规的Series/DataFrame构造相同。

语法:DataFrame.infer_objects()

返回:convert:与输入对象相同的类型

示例1

使用infer_objects()函数来推断更好的数据类型。

# importing pandas as pd
import pandas as pd
  
# Creating the dataframe 
df = pd.DataFrame({"A":["sofia", 5, 8, 11, 100],
                   "B":[2, 8, 77, 4, 11],
                   "C":["amy", 11, 4, 6, 9]})
  
# Print the dataframe
df

输出 :

Pandas dataframe.infer_objects()函数

让我们看看dataframe中每一列的dtype(数据类型)。

# to print the basic info
df.info()

Pandas dataframe.infer_objects()函数

正如我们在输出中看到的,第一列和第三列是对象类型。而第二列是int64类型。现在将dataframe切片,并从中创建一个新的dataframe。

# slice from the 1st row till end
df_new = df[1:]
  
# Let's print the new data frame
df_new
  
# Now let's print the data type of the columns
df_new.info()

输出:

Pandas dataframe.infer_objects()函数

Pandas dataframe.infer_objects()函数

正如我们在输出中看到的,列“A”和“C”是对象类型,尽管它们包含整数值。那么,让我们试试infer_objects()函数。

# applying infer_objects() function.
df_new = df_new.infer_objects()
  
# Print the dtype after applying the function
df_new.info()

输出:

Pandas dataframe.infer_objects()函数

现在,如果我们看看每一列的dtype,我们可以看到列“A”和“C”现在是int64类型。

示例2

使用infer_objects()函数为对象推断出更好的数据类型。

# importing pandas as pd
import pandas as pd
  
# Creating the dataframe 
df = pd.DataFrame({"A":["sofia", 5, 8, 11, 100], 
                   "B":[2 + 2j, 8, 77, 4, 11],
                   "C":["amy", 11, 4, 6, 9]})
  
# Print the dataframe
df

Pandas dataframe.infer_objects()函数

让我们看看dataframe中每一列的dtype(数据类型)。

# to print the basic info
df.info()

Pandas dataframe.infer_objects()函数

正如我们在输出中看到的,第一列和第三列是对象类型。而第二列是complex128类型。现在将dataframe切片,并从中创建一个新的dataframe。

# slice from the 1st row till end
df_new = df[1:]
  
# Let's print the new data frame
df_new
  
# Now let's print the data type of the columns
df_new.info()

Pandas dataframe.infer_objects()函数

Pandas dataframe.infer_objects()函数

正如我们在输出中看到的,列“A”和“C”是对象类型,尽管它们包含整数值。B列的情况与此类似。那么,让我们试试infer_objects()函数。

# applying infer_objects() function.
df_new = df_new.infer_objects()
  
# Print the dtype after applying the function
df_new.info()

输出:

Pandas dataframe.infer_objects()函数

注意,列“B”的dtype没有改变。函数的作用是:在不改变非对象和不可转换columns的情况下进行软转换。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程