Python|熊猫 dataframe.infer_objects()
Python是一种用于进行数据分析的出色语言,主要是因为以数据为中心的Python包的奇妙生态系统。 Pandas就是其中之一,它使导入和分析数据变得更加容易。
Pandas dataframe.infer_objects()
函数尝试为输入对象列推断更好的数据类型。此函数尝试对对象类型化列进行软转换,使非对象列和不可转换列保持不变。推理规则与正常的 Series/DataFrame 构造期间相同。
Syntax: DataFrame.infer_objects()
Returns : 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
输出 :
让我们看看数据框中每一列的dtype(数据类型)。
# to print the basic info
df.info()
正如我们在输出中看到的,第一列和第三列是object
类型。而第二列是int64
类型。现在切片数据框并从中创建一个新的数据框。
# 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
让我们看看数据框中每一列的dtype(数据类型)。
# to print the basic info
df.info()
正如我们在输出中看到的,第一列和第三列是object
类型。而第二列是complex128
类型。现在切片数据框并从中创建一个新的数据框。
# 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()
函数尝试进行软转换,使非对象和不可转换的列保持不变。