• 主页

  • 投资

  • IT

    🔥
  • 设计

  • 销售

  • 共95篇

    python3.X - 数据分析 - Pandas

关闭

返回栏目

关闭

返回python3.X - 数据分析 - Pandas栏目

23 - 数据类型 - int64、float64、bool、datetime64

作者:

贺及楼

成为作者

更新日期:2024-08-14 11:29:39

数据类型int64、float64、bool、datetime64

打印出数据类型的语句

  1. import numpy as np
  2. import pandas as pd
  3. print(df.dtypes)

df数据类型

Pandas 是基于 NumPy 的,它继承了 NumPy 的数据类型系统,并且添加了一些特殊的数据类型,专门用于处理表格数据。以下是 Pandas 中常用的数据类型(dtype)简介:

  1. 整型 (int)
    表示整数,有不同的大小,例如 int8, int16, int32, int64

  2. 浮点型 (float)
    表示浮点数,也有不同的精度,如 float16, float32, float64

  3. 复数型 (complex)
    表示复数,包含实部和虚部。

  4. 布尔型 (bool)
    表示布尔逻辑值 TrueFalse

  5. 字符串型 (str)
    用于存储文本数据。Pandas 0.23.0 版本以后,字符串型被明确定义。

  6. 分类型 (category)
    用于存储有限数量的重复文本标签,可以大大节省内存。

  7. 日期时间型 (datetime64, datetime)
    用于存储日期和时间信息。

  8. 时间差型 (timedelta64, timedelta)
    表示两个日期或时间点之间的差值。

  9. 布尔型(逻辑型)(logical, bool8)
    从 Pandas 1.0.0 版本开始,bool 类型被 logicalbool8 取代,以提供更准确的布尔值表示。

  10. 泛型类型 (object)
    用于存储 Python 对象,通常是字符串或混合类型的数据。

  11. 稀疏类型 (Sparse)
    用于存储稀疏数据,可以是任何 dtype,但只占用很少的存储空间。

  12. 区间型 (interval)
    用于存储数据的区间范围。

  13. 周期型 (Period, period)
    用于时间序列分析,表示固定频率的周期。

  14. 索引类型 (Index, MultiIndex)
    用于 Pandas 索引对象,MultiIndex 用于多级索引。

  15. 选择数据类型 (select_dtypes)
    一个函数,用于选择具有特定数据类型的列。

Pandas 类型 Python 类型 NumPy类型 使用场景
object str or mixed string, unicode, mixed types 文本或者混合数字
int64 int int_, int8, int16, int32, int64, uint8, uint16, uint32, uint64 整型数字
float64 float float_, float16, float32, float64 浮点数字
bool bool bool_ True/False 布尔型
datetime64[ns] nan datetime64[ns] 日期时间
timedelta[ns] nan nan 两个时间之间的距离,时间差
category nan nan 有限文本值,枚举
object nan nan 对象类型,通常用于存储 Python 对象,但主要用于字符串。
complex nan nan 复数类型,用于存储复数值。
interval nan nan 区间类型,用于存储数据的区间范围。
Sparse nan nan 稀疏类型,用于存储稀疏数据,节省内存。

尝试创建df

  1. import pandas as pd
  2. import numpy as np
  3. # 创建数据字典
  4. data = {
  5. 'int_col': [1, 2, np.nan], # 整数列
  6. 'float_col': [1.1, 2.2, 3.3], # 浮点数列
  7. 'bool_col': [True, False, True], # 布尔列
  8. 'str_col': ['apple', 'banana', 'cherry'], # 字符串列
  9. 'cat_col': pd.Categorical(['red', 'blue', 'red'], categories=['red', 'blue', 'green']), # 分类列
  10. 'datetime_col': pd.to_datetime(['2021-01-01', '2021-01-02', '2021-01-03']), # 日期时间列
  11. 'timedelta_col': pd.to_timedelta([1, 2, 3], unit='D'), # 时间差列
  12. 'complex_col': [1+2j, 3+4j, 5+6j], # 复数列
  13. 'interval_col': pd.IntervalIndex([pd.Interval(0, 1), pd.Interval(2, 3), pd.Interval(4, 5)]), # 区间列
  14. # 'period_col': pd.PeriodIndex(["2021-01", "2021-02", "2021-03"], freq='M'), # 周期列 (不再支持)
  15. 'index_col': [100, 101, 102], # 索引列
  16. }
  17. # 创建 DataFrame
  18. df = pd.DataFrame(data)
  19. # 打印 DataFrame
  20. print(df)
  1. RangeIndex: 3 entries, 0 to 2
  2. Data columns (total 10 columns):
  3. # Column Non-Null Count Dtype
  4. --- ------ -------------- -----
  5. 0 int_col 2 non-null float64
  6. 1 float_col 3 non-null float64
  7. 2 bool_col 3 non-null bool
  8. 3 str_col 3 non-null object
  9. 4 cat_col 3 non-null category
  10. 5 datetime_col 3 non-null datetime64[ns]
  11. 6 timedelta_col 3 non-null timedelta64[ns]
  12. 7 complex_col 3 non-null complex128
  13. 8 interval_col 3 non-null interval[int64]
  14. 9 index_col 3 non-null int64
  15. dtypes: bool(1), category(1), complex128(1), datetime64[ns](1), float64(2), int64(1), interval(1), object(1), timedelta64[ns](1)
  16. memory usage: 478.0+ bytes
  17. None