Python pandas 中有哪些文本数据类型?
有两种方法可以在pythonpandas中存储文本数据(适用于1.0.0.至最新版本1.2.4)。在这一点上,我们可以说Pandas文本数据有两种数据类型,即object和StringDtype。
在旧版本的pandas(1.0)中,只有objectdtype可用,在新版本的pandas中建议使用StringDtype来存储所有文本数据。为了克服使用objectsdtype的一些缺点,在pandas1.0版本中引入了这个StringDtype。尽管如此,我们仍然可以将object和StringDtype用于文本数据。
让我们举个例子,其中使用文本数据创建一个DataFrame并查看Pandas文本数据中的输出默认dtype。
对象数据类型
使用文本数据创建一个PandasDataFrame并验证数据的dtype。
示例
dict_ = {'A':['a','Aa'],'B':['b','Bb']} #声明字典 df = pd.DataFrame(dict_) #使用字典创建数据帧 print(df['A']) #打印A列值 print() #在每个输出之间留出空间 print(df['B']) # Printing column B values
解释
在上面的代码中,使用字符串数据创建了一个字典并将其分配给dict_变量,通过使用这个dict_我们创建了一个PandasDataFrame。这个DataFrame有2列和2行,这个DataFrame中存在的总数据是字符串数据。
从上面代码的最后3行显示每一列数据,在该输出中,我们可以看到数据的dtype。让我们验证下面的输出。
输出结果
0 a 1 Aa Name: A, dtype: object 0 b 1 Bb Name: B, dtype: object
上面的输出代表了我们的DataFrame中每个A列和B列的值,由行空间分隔。在这里我们可以看到默认情况下代表对象的每列的dtype。要定义StringDtype,我们需要明确说明它。
字符串数据类型
要定义Stringdtype,我们可以使用dtype参数并分配字符串或StringDtype参数。让我们看看下面的一些例子。
示例
list_ = ['python','sample', 'string'] ds = pd.Series(list_, dtype='string') print(ds)
解释
在这里,我们通过使用带有字符串列表的pandasseries方法来定义一个pandasSeries。我们将字符串参数传递给Parameterdtype,它将默认对象dtype更改为字符串。
输出结果
0 python 1 sample 2 string dtype: string
上面的块是系列数据的输出,这里数据的dtype是一个字符串。我们还可以使用将dtype定义为字符串。让我们再举一个例子。pd.StringDtype()
示例
data = ['john','dev','philip'] #creatingalist ds = pd.Series(data, dtype= pd.StringDtype()) #Seriescreation ds
对于这个例子,我们还采用了一个带有字符串列表和pd.StringDtype参数dtype的定义参数的Pandas系列。
输出结果
0 John 1 Dev 2 Philip dtype: string
这里pd.StringDtypedtype参数的参数输出显示在块上方。