Pandas 数据类型

Pandas是Python中一个强大的数据分析库,提供了多种数据类型(dtype)来表示数据集中的数据。以下是一些常见的Pandas数据类型及其样例:

一、数值类型

  1. 整数类型
    • int8、int16、int32、int64:用于存储整数值。
    • 样例:pd.Series([1, 2, 3], dtype=int32),创建一个包含整数的Series,数据类型为int32。
  2. 浮点数类型
    • float32、float64:用于存储带有小数点的数值。
    • 样例:pd.Series([1.1, 2.2, 3.3], dtype=float64),创建一个包含浮点数的Series,数据类型为float64。
import pandas as pd
# 创建一个包含整数的Series,数据类型为int64(默认)
int_series = pd.Series([1, 2, 3, 4, 5], dtype=int64)
print(int_series.dtype)  # 输出:int64

# 创建一个包含浮点数的Series,数据类型为float64(默认)
float_series = pd.Series([1.1, 2.2, 3.3, 4.4, 5.5], dtype=float64)
print(float_series.dtype)  # 输出:float64

二、布尔类型

- bool:用于存储True或False值。
- 样例:pd.Series([True, False, True], dtype=bool),创建一个包含布尔值的Series。
# 创建一个包含布尔值的Series
bool_series = pd.Series([True, False, True, False, True], dtype=bool)
print(bool_series.dtype)  # 输出:bool

三、字符串类型

  1. object类型
    • 在Pandas中,object类型通常用于存储字符串数据。当Pandas无法确定数据的确切类型时,也会使用此类型。
    • 样例:pd.Series([“apple”, “banana”, “cherry”], dtype=object),创建一个包含字符串的Series,数据类型为object。
  2. str类型(Python 3中的字符串类型)
    • 虽然Pandas内部使用object类型来存储字符串,但在Python 3中,字符串的实际类型是str。
    • 样例:在Python 3中,s = “hello”,type(s)的结果为str。但在Pandas的DataFrame或Series中,字符串会被存储为object类型。
# 创建一个包含字符串的Series,数据类型为object
str_series = pd.Series(["apple", "banana", "cherry", "date"], dtype=object)
print(str_series.dtype)  # 输出:object

四、日期和时间类型

  1. datetime64[ns]类型
    • 用于存储日期和时间值,具有纳秒级别的精度。
    • 样例:pd.to_datetime([‘2023-01-01’, ‘2023-01-02’, ‘2023-01-03’]),创建一个包含日期时间的Series,数据类型为datetime64[ns]。
# 将字符串转换为日期时间类型,并创建一个Series
date_series = pd.Series(pd.to_datetime(['2023-01-01', '2023-01-02', '2023-01-03']))
print(date_series.dtype)  # 输出:datetime64[ns]
  1. timedelta64[ns]类型
    • 用于存储两个日期或时间之间的差异。
    • 样例:pd.to_timedelta([‘1 day’, ‘2 days’, ‘3 days’]),创建一个包含时间差的Series,数据类型为timedelta64[ns]。
# 创建一个包含时间差的Series,通过两个日期时间相减得到
timedelta_series = pd.Series([pd.to_datetime('2023-01-02') - pd.to_datetime('2023-01-01'),
                              pd.to_datetime('2023-01-03') - pd.to_datetime('2023-01-02')])
print(timedelta_series.dtype)  # 输出:timedelta64[ns]

五、类别类型

- category:用于存储具有重复值的字符串或数值,可以减少内存使用。
- 样例:pd.Series(["apple", "banana", "apple", "cherry"], dtype="category"),创建一个包含类别数据的Series。
# 创建一个包含类别数据的Series
category_series = pd.Series(["apple", "banana", "apple", "cherry"], dtype="category")
print(category_series.dtype)  # 输出:category

六、其他类型

  1. period类型
    • 用于表示时间跨度,通常用于金融数据。
    • 样例:pd.PeriodIndex([‘2023Q1’, ‘2023Q2’, ‘2023Q3’], freq=‘Q’),创建一个包含季度的PeriodIndex。
  2. Interval类型
    • 表示两个端点之间的间隔。
    • 样例:pd.IntervalIndex.from_tuples([(0, 1), (1, 2), (2, 3)]),创建一个包含间隔的IntervalIndex。

数据类型样例:

# 创建一个包含多种数据类型的DataFrame
data = {
    'int_col': [1, 2, 3, 4, 5],
    'float_col': [1.1, 2.2, 3.3, 4.4, 5.5],
    'bool_col': [True, False, True, False, True],
    'str_col': ["apple", "banana", "cherry", "date", "elderberry"],
    'date_col': pd.to_datetime(['2023-01-01', '2023-01-02', '2023-01-03', '2023-01-04', '2023-01-05']),
    'category_col': pd.Categorical(["apple", "banana", "apple", "cherry", "elderberry"])
}
df = pd.DataFrame(data)
print(df.dtypes)
# 输出:
# int_col           int64
# float_col       float64
# bool_col           bool
# str_col          object
# date_col   datetime64[ns]
# category_col   category
# dtype: object

注意

  • 在创建Pandas的DataFrame或Series时,Pandas会根据传入数据的内容自动推断数据类型。
  • 可以使用dtype属性来查看DataFrame或Series中某列或某行的数据类型。
  • 可以使用astype()方法来转换数据类型,但需要注意转换的兼容性和数据丢失的风险。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王小工

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值