14. dtype-查看数据元素的数据类型

文摘   教育   2023-09-27 21:50   云南  

【目录】


  • 1. type-返回数据结构类型

  • 2. 类的相关知识回顾

  • 3. dtype-返回数据元素的数据类型

  • 4. `s.dtype`查看Series对象的元素的数据类型

  • 5.` df.dtypes`查看DataFrame对象的元素的数据类型

  • 6. `df["列索引"].dtype`查看DataFrame对象某一列的元素的数据类型

  • 7. df.info()函数-查看DataFrame对象信息

  • 8. dtype和type的区别

  • 9. 总结

  • 10. 悄悄话


【正文】

学习时间:20分钟。


1. type-返回数据结构类型

type()是一个内置函数,作用是返回数据结构的类型。

type()函数可以返回以下数据结构的类型:

  • 字符串 str
  • 整型 int
  • 浮点型 float
  • 布尔型 bool
  • 列表 list
  • 元组 tuple
  • 字典 dict
  • 集合 set
  • 函数 def
  • 自定义类 class

【代码示例1】

# 创建一个列表
my_list = [12345]
print(type(my_list))

【终端输出】

<class 'list'>

<class 'list'>表示my_list的数据结构类型为列表。

【代码示例2】

# 创建一个字典
my_dict = {'key''value'}
print(type(my_dict))

【终端输出】

<class 'dict'>

<class 'dict'>表示my_dict的数据结构类型为字典。

【代码示例3】

# def自定义函数greet
def greet(name):
    return "Hello, " + name + "!"

result = greet("安迪")
print(result)

# type查看greet的数据类型
print(type(greet))

【终端输出】

Hello, 安迪!
<class 'function'>
  • def定义了一个名为greet的函数。
  • 它接受一个参数name
  • 在函数体内部,它将参数name与字符串"Hello, "进行拼接,并使用return语句返回拼接后的结果。
  • 然后我们调用这个函数,将安迪作为参数传递给它,并将返回的结果打印出来。
  • 最后使用type函数查看greet的数据类型。

function[ˈfʌŋkʃn]:功能。

<class 'function'>表示greet的数据结构类型为函数。

2. 类的相关知识回顾

【创建对象语法】

对象名 = 类名()

【查看对象属性语法】

对象名.属性名

3. dtype-返回数据元素的数据类型

【作用】

dtype是一个属性,返回数据元素的数据类型。

dtype属性适用于数据结构中的Series和DataFrame对象。

【语法】

s.dtype
df["列索引"].dtype
df.dtypes
  • s或df是对象名。
  • .英文小圆点。
  • dtype是属性名。

4. s.dtype查看Series对象的元素的数据类型

【创建一个Series对象】

import pandas as pd

# 创建一个Series对象
s = pd.Series([12345])
# 输出该对象
print(s)

【终端输出】

0    1
1 2
2 3
3 4
4 5
dtype: int64
# 查看该Series对象的元素的数据类型
# s是对象名
# dtype是属性名
print(s.dtype) 

【终端输出】

int64

int64表示该Series对象的数据类型为整数型。

5. df.dtypes查看DataFrame对象的元素的数据类型

【创建一个DataFrame对象】

# 导入pandas库并简写为pd
import pandas as pd

# 要传入的数据类型为字典   
# 字典的3个键姓名、年龄、成绩是DataFrame对象的列索引
# 字典的值是DataFrame对象的数据 
data = {
    '姓名': ['张三''李四''王五''赵六''钱七''孙八''周九''吴十''郑十一''马十二'],
    '年龄': [18192021222324252627],
    '成绩': [85927889958790938088]
}

# 实例化类创建对象:对象名 = 类名()
# df是对象名,DataFrame是类名
df = pd.DataFrame(data)

# 输出DataFrame对象
print(df)

【终端输出】

    姓名  年龄  成绩
0 张三 18 85
1 李四 19 92
2 王五 20 78
3 赵六 21 89
4 钱七 22 95
5 孙八 23 87
6 周九 24 90
7 吴十 25 93
8 郑十一 26 80
9 马十二 27 88
# 查看DataFrame对象数据元素的数据类型
# df是对象名
# dtypes是属性名
print(df.dtypes)

【终端输出】

姓名    object
年龄 int64
成绩 int64
dtype: object

object表示姓名是字符串类型。

int64表示年龄和成绩是整数类型。

【温馨提示】

注意这里的dtypes有s是复数。

大家可以这样理解。

df对象有很多列,每一列都是一个series对象。

查看series对象用单数dtype,查看df对象用复数dtypes

6. df["列索引"].dtype查看DataFrame对象某一列的元素的数据类型

print(df["姓名"].dtype)
print(df["年龄"].dtype)
print(df["成绩"].dtype)

【终端输出】

object
int64
int64
  • df是DataFrame对象名。
  • 该df对象有3列:姓名、年龄、成绩。
  • df["姓名"]取到df对象的姓名列。
  • df对象的每一列都是一个Series对象。
  • 因此,查看df对象某列元素的数据类型用dtype即可,不需要复数。

df["姓名"]相关知识可参考如下链接:

5. df['列索引']获取特定列的数据

7. df.info()函数-查看DataFrame对象信息

除了dtypes属性,我们之前还学习过df.info()方法查看df对象的信息。

该信息中也包含有数据元素的数据类型。

【代码示例】

# df.info()函数-查看DataFrame对象信息
print(df.info())

【终端输出】

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 10 entries, 0 to 9
Data columns (total 3 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 姓名 10 non-null object
1 年龄 10 non-null int64
2 成绩 10 non-null int64
dtypes: int64(2), object(1)
memory usage: 368.0+ bytes
None

相关知识可参考如下链接:

8. df.info()函数-查看DataFrame对象信息

8. dtype和type的区别

dtypetype的区别在于它们返回的信息不同。

type()是一个内置函数,返回数据结构的类型。

dtype是一个属性,返回数据元素的数据类型。

type()函数可以返回以下数据结构的类型:整型、浮点型、布尔型、字符串、列表、元组、字典、集合、函数、自定义类。

dtype属性适用于数据结构中的Series和DataFrame对象。

9. 总结

【知识总结】

  • s.dtype查看Series对象的元素的数据类型
  • df.dtypes查看DataFrame对象的元素的数据类型
  • df["列索引"].dtype查看DataFrame对象某一列的元素的数据类型

【代码总结1】

import pandas as pd

# 创建一个Series对象
s = pd.Series([12345])
# 输出该对象
print(s)

# 查看该Series对象的元素的数据类型
# s是对象名
# dtype是属性名
print(s.dtype) 

【终端输出】

0    1
1 2
2 3
3 4
4 5
dtype: int64
int64

【代码总结2】

import pandas as pd
data = {
    '姓名': ['张三''李四''王五''赵六''钱七''孙八''周九''吴十''郑十一''马十二'],
    '年龄': [18192021222324252627],
    '成绩': [85927889958790938088]
}

df = pd.DataFrame(data)
print(df)
print("====================")

# 查看DataFrame对象数据元素的数据类型
# df是对象名
# dtypes是属性名
print(df.dtypes)
print("====================")

# `df["列索引"].dtype`查看DataFrame对象某一列的元素的数据类型
print(df["姓名"].dtype)
print(df["年龄"].dtype)
print(df["成绩"].dtype)
print("====================")

# df.info()函数-查看DataFrame对象信息
print(df.info())

【终端输出】

    姓名  年龄  成绩
0 张三 18 85
1 李四 19 92
2 王五 20 78
3 赵六 21 89
4 钱七 22 95
5 孙八 23 87
6 周九 24 90
7 吴十 25 93
8 郑十一 26 80
9 马十二 27 88
====================
姓名 object
年龄 int64
成绩 int64
dtype: object
====================
object
int64
int64
====================
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 10 entries, 0 to 9
Data columns (total 3 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 姓名 10 non-null object
1 年龄 10 non-null int64
2 成绩 10 non-null int64
dtypes: int64(2), object(1)
memory usage: 368.0+ bytes
None

10. 悄悄话

经历的事情越多,越喜欢简单的生活。
除了内心的简单,也想让生活的物品简单。
想做几期断舍离,邮费到付
物品主要有书籍(只适合女生)、女士服饰、鞋帽。
有兴趣的朋友可在文章留言断舍离,也可私信进群。

微信图片


安迪python学习笔记
python学习笔记,适合初学者。
 最新文章