PANDA数组、标量和数据类型#

客体#

对于大多数数据类型,Pandas使用NumPy数组作为包含在 IndexSeries ,或 DataFrame

对于某些数据类型,Pandas扩展了NumPy的类型系统。可在以下位置找到这些类型的字符串别名 数据类型

数据类型

Pandas数据类型

标量

阵列

TZ感知的DateTime

DatetimeTZDtype

Timestamp

日期时间

Timedeltas

(无)

Timedelta

Timedeltas

期间(时间跨度)

PeriodDtype

Period

周期

间隔时间

IntervalDtype

Interval

间隔时间

可为空的整数

Int64Dtype ..

(无)

可为空的整数

直截了当的

CategoricalDtype

(无)

类别词

稀疏

SparseDtype

(无)

稀疏

字符串

StringDtype

str

字符串

布尔型(带NA)

BooleanDtype

bool

可为空的布尔值

Pandas和第三方库可以扩展NumPy的类型系统(请参见 扩展类型 )。最高层 array() 方法可用于创建新数组,该数组可存储在 SeriesIndex ,或作为 DataFrame

array \(数据[, dtype, copy] )

创建一个阵列。

日期时间#

NumPy不能本机表示时区感知的日期时间。Pandas支持这一点, arrays.DatetimeArray 扩展数组,它可以保存时区朴素或时区感知的值。

Timestamp ,是的子类 datetime.datetime ,是Pandas的标量类型,用于时区朴素或时区感知的日期时间数据。

Timestamp \([ts_input, freq, tz, unit, year, ...] )

PANDA替换了PYTHON DATETIME.DATETIME对象。

属性#

Timestamp.asm8 

返回NumPy DateTime64格式,单位为纳秒。

Timestamp.day 

Timestamp.dayofweek 

一周中的返回日。

Timestamp.day_of_week 

一周中的返回日。

Timestamp.dayofyear 

返回一年中的某一天。

Timestamp.day_of_year 

返回一年中的某一天。

Timestamp.days_in_month 

返回该月的天数。

Timestamp.daysinmonth 

返回该月的天数。

Timestamp.fold 

Timestamp.hour 

Timestamp.is_leap_year 

如果年份是闰年,则返回True。

Timestamp.is_month_end 

如果Date是每月的最后一天,则返回True。

Timestamp.is_month_start 

如果Date是每月的第一天,则返回True。

Timestamp.is_quarter_end 

如果日期是季度的最后一天,则返回True。

Timestamp.is_quarter_start 

如果Date是季度的第一天,则返回True。

Timestamp.is_year_end 

如果Date是一年的最后一天,则返回True。

Timestamp.is_year_start 

如果Date是一年的第一天,则返回True。

Timestamp.max 

Timestamp.microsecond 

Timestamp.min 

Timestamp.minute 

Timestamp.month 

Timestamp.nanosecond 

Timestamp.quarter 

返回一年中的季度。

Timestamp.resolution 

Timestamp.second 

Timestamp.tz 

Tzinfo的别名。

Timestamp.tzinfo 

Timestamp.value 

Timestamp.week 

返回一年中的第几周。

Timestamp.weekofyear 

返回一年中的第几周。

Timestamp.year 

方法:#

Timestamp.astimezone \(TZ)

将支持时区的时间戳转换为另一个时区。

Timestamp.ceil \(频率 [, ambiguous, nonexistent] )

返回一个新的时间戳,该时间戳与此解析相同。

Timestamp.combine \(日期、时间)

将日期、时间合并为具有相同日期和时间字段的日期时间。

Timestamp.ctime 

返回ctime()样式字符串。

Timestamp.date 

返回年、月、日相同的日期对象。

Timestamp.day_name 

返回指定地区的时间戳的日期名称。

Timestamp.dst 

返回self.tzinfo.dst(Self)。

Timestamp.floor \(频率 [, ambiguous, nonexistent] )

返回一个新的时间戳,该时间戳已覆盖到此分辨率。

Timestamp.freq 

Timestamp.freqstr 

返回该月的总天数。

Timestamp.fromordinal \(序号[, freq, tz] )

传递一个序数,将其翻译并转换为T。

Timestamp.fromtimestamp \(ts)

转换时间戳 [, tz] 从POSIX时间戳转换为TZ的本地时间。

Timestamp.isocalendar 

返回包含ISO年、周号和工作日的命名元组。

Timestamp.isoformat 

返回根据ISO 8610格式化的时间。

Timestamp.isoweekday \()

返回由该日期表示的星期几。

Timestamp.month_name 

返回指定地区的时间戳的月份名称。

Timestamp.normalize 

将时间戳标准化为午夜,保留tz信息。

Timestamp.now \([tz] )

返回新的Timestamp对象,表示tz本地的当前时间。

Timestamp.replace \([year, month, day, hour, ...] )

实现日期时间。替换,处理纳秒。

Timestamp.round \(频率 [, ambiguous, nonexistent] )

将时间戳四舍五入为指定的分辨率。

Timestamp.strftime \(格式)

返回一个字符串,该字符串表示由显式格式字符串控制的给定POSIX时间戳。

Timestamp.strptime \(字符串,格式)

功能未实现。

Timestamp.time 

返回时间相同但tzinfo=None的Time对象。

Timestamp.timestamp 

以浮点形式返回POSIX时间戳。

Timestamp.timetuple 

返回时间元组,与time.localtime()兼容。

Timestamp.timetz 

返回具有相同时间和tzinfo的Time对象。

Timestamp.to_datetime64 

返回一个精度为‘ns’的numpy.datetime64对象。

Timestamp.to_numpy 

将时间戳转换为NumPy日期64。

Timestamp.to_julian_date \()

将时间戳转换为儒略日期。

Timestamp.to_period 

返回此时间戳为其观察值的时段。

Timestamp.to_pydatetime 

将时间戳对象转换为本机Python DateTime对象。

Timestamp.today \(CLS[, tz] )

返回本地时区中的当前时间。

Timestamp.toordinal 

返回服用安慰剂的格里高利序号。

Timestamp.tz_convert \(TZ)

将支持时区的时间戳转换为另一个时区。

Timestamp.tz_localize \(TZ[, ambiguous, ...] )

将原始时间戳转换为本地时区,或从支持时区的时间戳中删除时区。

Timestamp.tzname 

返回self.tzinfo.tzname(Self)。

Timestamp.utcfromtimestamp \(ts)

从POSIX时间戳构造一个简单的UTC日期时间。

Timestamp.utcnow \()

返回表示UTC日期和时间的新时间戳。

Timestamp.utcoffset 

返回self.tzinfo.utcofset(Self)。

Timestamp.utctimetuple 

返回UTC时间元组,与time.localtime()兼容。

Timestamp.weekday \()

返回由该日期表示的星期几。

时间戳的集合可以存储在 arrays.DatetimeArray 。对于支持时区的数据, .dtype 属于 arrays.DatetimeArray 是一种 DatetimeTZDtype 。对于时区原始数据, np.dtype("datetime64[ns]") 是使用的。

如果数据支持时区,则数组中的每个值必须具有相同的时区。

arrays.DatetimeArray \(值[, dtype, freq, copy] )

Pandas Extension数组,用于Tz-naive或Tz-Aware日期时间数据。

DatetimeTZDtype \([unit, tz] )

支持时区的DateTime数据的ExtensionDtype。

Timedeltas#

NumPy本身可以表示时间增量。Pandas提供了 Timedelta 对于对称,请使用 Timestamp

Timedelta \([value, unit] )

表示持续时间,即两个日期或时间之间的差值。

属性#

Timedelta.asm8 

返回一个NumPy的timedelta64数组标量视图。

Timedelta.components 

返回一个名为类似元组的组件。

Timedelta.days 

天数。

Timedelta.delta 

返回时间增量,单位为纳秒(Ns),用于内部兼容。

Timedelta.freq 

Timedelta.is_populated 

Timedelta.max 

Timedelta.microseconds 

微秒数(>=0且小于1秒)。

Timedelta.min 

Timedelta.nanoseconds 

返回纳秒数(N),其中0<=n<1微秒。

Timedelta.resolution 

Timedelta.seconds 

秒数(>=0且小于1天)。

Timedelta.value 

Timedelta.view 

阵列视图兼容性。

方法:#

Timedelta.ceil \(频率)

返回一个新的Timedelta,割让给这个决议。

Timedelta.floor \(频率)

返回一个新的Timedelta失败了这个决议。

Timedelta.isoformat 

将Timedelta格式设置为ISO 8601持续时间,如 P[n]Y[n]M[n]DT[n]H[n]M[n]S ,其中 [n] 将被这些值替换。

Timedelta.round \(频率)

将Timedelta舍入到指定的分辨率。

Timedelta.to_pytimedelta 

将PandasTimedelta对象转换为 Python datetime.timedelta 对象。

Timedelta.to_timedelta64 

返回一个精度为‘ns’的numpy.timedelta64对象。

Timedelta.to_numpy 

将Timedelta转换为NumPy timedelta64。

Timedelta.total_seconds 

持续时间内的总秒数。

一系列 Timedelta 可以存储在 TimedeltaArray

arrays.TimedeltaArray \(值[, dtype, freq, ...] )

时间增量数据的Pandas扩展数组。

周期#

Pandas代表着跨越时代的 Period 对象。

期间#

Period \([value, freq, ordinal, year, month, ...] )

表示一段时间。

属性#

Period.day 

得到一个经期所在月份的第几天。

Period.dayofweek 

周期所在的星期几,星期一=0,星期日=6。

Period.day_of_week 

周期所在的星期几,星期一=0,星期日=6。

Period.dayofyear 

返回一年中的某一天。

Period.day_of_year 

返回一年中的某一天。

Period.days_in_month 

获取此期间所在月份的总天数。

Period.daysinmonth 

获取该期间所在月份的总天数。

Period.end_time 

获取时段结束的时间戳。

Period.freq 

Period.freqstr 

返回频率的字符串表示形式。

Period.hour 

获取该期间的一天中的小时部分。

Period.is_leap_year 

如果该期间的年份在闰年,则返回True。

Period.minute 

获取时段中小时部分的分钟数。

Period.month 

返回此期间所在的月份。

Period.ordinal 

Period.quarter 

返回此期间所在的季度。

Period.qyear 

财政年度根据其开始季度,该期间所在的时间段。

Period.second 

获取该期间的第二个组成部分。

Period.start_time 

获取时段开始的时间戳。

Period.week 

获取给定时间段的一年中的第几周。

Period.weekday 

周期所在的星期几,星期一=0,星期日=6。

Period.weekofyear 

获取给定时间段的一年中的第几周。

Period.year 

返回此期间所属的年份。

方法:#

Period.asfreq 

在间隔开始或结束时,将周期转换为所需频率。

Period.now 

返回当前日期的期间。

Period.strftime 

属性的字符串表示形式。 Period ,具体取决于选定的 fmt

Period.to_timestamp 

返回该期间的时间戳表示形式。

一系列 Period 可以存储在 arrays.PeriodArray 。一年中的每一个句点 arrays.PeriodArray 必须有相同的 freq

arrays.PeriodArray \(值[, dtype, freq, copy] )

用于存储周期数据的Pandas Extension数组。

PeriodDtype \([freq] )

期间数据的ExtensionDtype。

间隔时间#

任意间隔可以表示为 Interval 对象。

Interval 

实现区间的不可变对象,区间是有界的类似切片的区间。

属性#

Interval.closed 

间隔是左侧闭合、右侧闭合、两者都闭合还是两者都不闭合。

Interval.closed_left 

检查左侧的间隔是否闭合。

Interval.closed_right 

检查右侧的间隔是否闭合。

Interval.is_empty 

指示间隔是否为空,表示该间隔不包含任何点。

Interval.left 

中场休息时的左路。

Interval.length 

返回间隔的长度。

Interval.mid 

返回间隔的中点。

Interval.open_left 

检查左侧的间隔是否打开。

Interval.open_right 

检查右侧的间隔是否打开。

Interval.overlaps 

检查两个间隔对象是否重叠。

Interval.right 

中场休息时的右界。

间隔的集合可以存储在 arrays.IntervalArray

arrays.IntervalArray \(数据[, closed, dtype, ...] )

同侧闭合的间隔数据的Pandas数组。

IntervalDtype \([subtype, closed] )

间隔数据的ExtensionDtype。

可为空的整数#

numpy.ndarray 无法本机表示缺少值的整型数据。Pandas通过以下途径提供这一点 arrays.IntegerArray

arrays.IntegerArray \(值,掩码[, copy] )

整型(可选缺失)值的数组。

Int8Dtype \()

用于int8整数数据的ExtensionDtype。

Int16Dtype \()

用于int16整数数据的ExtensionDtype。

Int32Dtype \()

用于int32整数数据的ExtensionDtype。

Int64Dtype \()

用于int64整数数据的ExtensionDtype。

UInt8Dtype \()

Uint8整数数据的ExtensionDtype。

UInt16Dtype \()

Uint16整数数据的ExtensionDtype。

UInt32Dtype \()

Uint32整数数据的ExtensionDtype。

UInt64Dtype \()

Uint64整数数据的ExtensionDtype。

类别词#

Pandas定义了一种自定义数据类型,用于表示只能接受一组有限的固定值的数据。的数据类型。 Categorical 可以用一个 CategoricalDtype

CategoricalDtype \([categories, ordered] )

键入类别和顺序的分类数据。

CategoricalDtype.categories 

一个 Index 包含允许的唯一类别的。

CategoricalDtype.ordered 

类别是否具有有序关系。

分类数据可以存储在 pandas.Categorical

Categorical \(值[, categories, ordered, ...] )

以经典的R/S+方式表示一个分类变量。

另一个选择 Categorical.from_codes() 当您已经有了类别和整数代码时,可以使用构造函数:

Categorical.from_codes \(代码[, categories, ...] )

根据代码和类别或数据类型制作分类类型。

数据类型信息可在 Categorical

Categorical.dtype 

这个 CategoricalDtype 对于此实例。

Categorical.categories 

这个定语的范畴。

Categorical.ordered 

类别是否具有有序关系。

Categorical.codes 

这一分类的类别代码。

np.asarray(categorical) 通过实现数组接口来工作。请注意,这会将 Categorical 返回到NumPy数组,因此不会保留类别和订单信息!

Categorical.__array__ \([dtype] )

NumPy数组接口。

A Categorical 可以存储在 SeriesDataFrame 。创建一系列数据类型 category ,使用 cat = s.astype(dtype)Series(..., dtype=dtype) 哪里 dtype 要么是

如果 Series 是数据类型 CategoricalDtypeSeries.cat 可用于更改分类数据。看见 范畴存取器 想要更多。

稀疏#

单一值重复多次的数据(例如 0NaN )可以高效地存储为 arrays.SparseArray

arrays.SparseArray \(数据[, sparse_index, ...] )

用于存储稀疏数据的Extension数组。

SparseDtype \([dtype, fill_value] )

存储在中的数据的数据类型 SparseArray

这个 Series.sparse 访问器可用于访问稀疏特定的属性和方法,如果 Series 包含稀疏值。看见 稀疏访问器the user guide 想要更多。

字符串#

在处理文本数据时,如果每个有效元素都是字符串或缺失,我们建议使用 StringDtype (使用别名 "string" )。

arrays.StringArray \(值[, copy] )

字符串数据的扩展数组。

arrays.ArrowStringArray \(值)

中的字符串数据的扩展数组 pyarrow.ChunkedArray

StringDtype \([storage] )

字符串数据的扩展数据类型。

这个 Series.str 访问器可用于 Series 背后有一个 arrays.StringArray 。看见 字符串处理 想要更多。

可为空的布尔值#

布尔数据类型(具有别名 "boolean" )提供对存储布尔数据的支持 (TrueFalse ),这对于布尔值是不可能的 numpy.ndarray

arrays.BooleanArray \(值,掩码[, copy] )

缺少值的布尔(True/False)数据数组。

BooleanDtype \()

布尔数据的扩展数据类型。

公用事业#

构造函数#

api.types.union_categoricals \(至_联合[, ...] )

将类似分类的联合类别的列表组合在一起。

api.types.infer_dtype 

有效地推断传递的val或列表型值数组的类型。

api.types.pandas_dtype \(dtype)

将输入转换为仅Pandas数据类型对象或数字数据类型对象。

数据类型自检#

api.types.is_bool_dtype \(arr_或_dtype)

检查提供的数组或数据类型是否为布尔数据类型。

api.types.is_categorical_dtype \(arr_或_dtype)

检查类似数组的数据类型或数据类型是否属于分类数据类型。

api.types.is_complex_dtype \(arr_或_dtype)

检查提供的数组或数据类型是否为复杂数据类型。

api.types.is_datetime64_any_dtype \(arr_或_dtype)

检查提供的数组或数据类型是否为日期64数据类型。

api.types.is_datetime64_dtype \(arr_或_dtype)

检查类似数组的类型或数据类型是否为DateTime64数据类型。

api.types.is_datetime64_ns_dtype \(arr_或_dtype)

检查提供的数组或数据类型是否为DateTime64 [ns] 数据类型。

api.types.is_datetime64tz_dtype \(arr_或_dtype)

检查类似数组或数据类型是否为DatetimeTZDtype数据类型。

api.types.is_extension_type \(arr)

(已弃用)检查类似数组的对象是否属于Pandas扩展类实例。

api.types.is_extension_array_dtype \(arr_或_dtype)

检查对象是否为Pandas扩展数组类型。

api.types.is_float_dtype \(arr_或_dtype)

检查提供的数组或数据类型是否为浮点数据类型。

api.types.is_int64_dtype \(arr_或_dtype)

检查提供的数组或数据类型是否为int64 dtype。

api.types.is_integer_dtype \(arr_或_dtype)

检查提供的数组或数据类型是否为整数数据类型。

api.types.is_interval_dtype \(arr_或_dtype)

检查类似数组的类型或数据类型是否为间隔数据类型。

api.types.is_numeric_dtype \(arr_或_dtype)

检查提供的数组或数据类型是否为数字数据类型。

api.types.is_object_dtype \(arr_或_dtype)

检查类似数组或数据类型是否属于对象数据类型。

api.types.is_period_dtype \(arr_或_dtype)

检查类似数组的类型或数据类型是否属于句点dtype。

api.types.is_signed_integer_dtype \(arr_或_dtype)

检查提供的数组或数据类型是否为带符号整数数据类型。

api.types.is_string_dtype \(arr_或_dtype)

检查提供的数组或数据类型是否为字符串数据类型。

api.types.is_timedelta64_dtype \(arr_或_dtype)

检查类似数组或数据类型是否为timedelta64数据类型。

api.types.is_timedelta64_ns_dtype \(arr_或_dtype)

检查提供的数组或数据类型是否为timedelta64 [ns] 数据类型。

api.types.is_unsigned_integer_dtype \(arr_或_dtype)

检查提供的数组或数据类型是否为无符号整数数据类型。

api.types.is_sparse \(arr)

检查类似数组的是否为一维Pandas稀疏数组。

可重复的内省#

api.types.is_dict_like \(OBJ)

检查对象是否与字典相似。

api.types.is_file_like \(OBJ)

检查对象是否为类似文件的对象。

api.types.is_list_like 

检查对象是否类似于列表。

api.types.is_named_tuple \(OBJ)

检查对象是否为命名元组。

api.types.is_iterator 

检查对象是否为迭代器。

标量自省#

api.types.is_bool 

如果给定对象为布尔值,则返回True。

api.types.is_categorical \(arr)

检查类似数组的对象是否是类别实例。

api.types.is_complex 

如果给定对象是复杂的,则返回True。

api.types.is_float 

如果给定对象为Float,则返回True。

api.types.is_hashable \(OBJ)

如果hash(Obj)成功,则返回True,否则返回False。

api.types.is_integer 

如果给定对象为整数,则返回True。

api.types.is_interval 

api.types.is_number \(OBJ)

检查对象是否为数字。

api.types.is_re \(OBJ)

检查对象是否为正则表达式模式实例。

api.types.is_re_compilable \(OBJ)

检查对象是否可以编译成正则表达式模式实例。

api.types.is_scalar 

如果给定对象是标量对象,则返回True。