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


Python Pandas dataframe.infer_objects()用法及代码示例


Python是进行数据分析的一种出色语言,主要是因为以数据为中心的python软件包具有奇妙的生态系统。 Pandas是其中的一种,使导入和分析数据更加容易。

Pandas dataframe.infer_objects()函数尝试推断输入对象列的更好的数据类型。此函数尝试对object-dtyped列进行软转换,而使非对象和不可转换列保持不变。推理规则与常规Series /DataFrame构造过程中的规则相同。

用法: DataFrame.infer_objects()
返回: converted:same type as input object

范例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

输出:

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

# to print the basic info 
df.info()

正如我们在输出中看到的,第一和第三列是object类型。而第二列是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()

输出:

从输出中可以看到,列“A”和“C”都是对象类型,即使它们包含整数值。因此,让我们尝试infer_objects()函数。

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

输出:

现在,如果我们查看每列的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


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

# to print the basic info 
df.info()

正如我们在输出中看到的,第一和第三列是object类型。而第二列是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()


从输出中可以看到,列“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()

输出:

注意,列“B”的dtype不变。infer_objects()函数尝试进行软转换,使非对象和不可转换列保持不变。



相关用法


注:本文由纯净天空筛选整理自Shubham__Ranjan大神的英文原创作品 Python | Pandas dataframe.infer_objects()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。