首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

NumPy 超详细教程(2):数据类型

NumPy 数据类型 1、NumPy 中的数据类型 NumPy 支持比 Python 更多种类的数值类型,下表所列的数据类型都是 NumPy 内置的数据类型,为了区别于 Python 原生的数据类型,bool...timedelta64 表示两个时间之间的间隔 这里有点不理解,我是 win7 64 位系统,上述的类型都是我实测得到的,但是,我查看源码,里面却是如下定义的。...('us'),纳秒('ns'),皮秒('ps'),飞秒('fs'),阿托秒('as')。...事实上,如果两个 datetime64 对象具有不同的单位,它们可能仍然代表相同的时刻。并且从较大的单位(如月份)转换为较小的单位(如天数)是安全的。...如果为 True,填充字段使其类似 C 的结构体,只有当 object 是字典或逗号分隔的字符串时才可以是 True copy 复制 dtype 对象,如果为 False,则是对内置数据类型对象的引用

2.3K40

数据导入与预处理-拓展-pandas时间数据处理02

时间差(Timedelta)的构造与属性 概念 单元素类型 数组类型 pandas数据类型 Date times Timestamp DatetimeIndex datetime64[ns] Time...timedelta64[ns]', freq='5D') 时间差序列与series计算 td1 * pd.Series(list(range(5))) # 逐个相乘 输出为: 0 0 days 1...通过Period生成 # 生成一个以2022-01开始,月为频率的时间构造器 # pd.Period()参数:一个时间戳 + freq 参数 → freq 用于指明该 period 的长度,时间戳则说明该...).apply(lambda x:x.max()-x.min()) # 极差 输出为 2020-01-31 4 2020-02-29 7 2020-03-31 5 2020-04...,默认情况下起始值的计算方法是从最小值时间戳对应日期的午夜00:00:00开始增加freq,直到不超过该最小时间戳的最大时间戳,由此对应的时间戳为起始值,然后每次累加freq参数作为分割结点进行分组,区间情况为左闭右开

1.9K60
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Pandas的10大索引

    集合本身是无序的,所以最终的结果并不一定是按照给定的元素顺序: In [7]: # 使用集合来创建,集合本身是无序的 pd.Index({"x","y","z"}) Out[7]: Index(['z'..., 'x', 'y'], dtype='object') pd.RangeIndex 生成一个区间内的索引,主要是基于Python的range函数,其语法为: pandas.RangeIndex(...ordered=None, # 是否排序 dtype=None, # 数据类型 copy=False, # 副本 name=None) # 名字 在下面的例子中我们以一批衣服的尺码作为模拟数据...copy=False, # 副本 name=None # 名字 ) 以时间和日期作为索引,通过date_range函数来生成,具体例子为: In [35]: # 默认天为频率 pd.date_range...]', freq='3M') In [39]: # Q代表季度 pd.date_range("2022-01-01",periods=6, freq="Q") 显示的结果中以一个季度-3个月为频率

    32530

    Pandas 2.2 中文官方教程和指南(二十二)

    [ns]', freq=None) 字符串‘infer’可以传递以将索引的频率设置为创建时推断的频率: In [96]: pd.TimedeltaIndex(["0 days", "10 days",...[ns]', freq='53h') 指定 start、end 和 periods 将生成一系列从 start 到 end 的等间隔 timedeltas,其中结果 TimedeltaIndex 中的元素数为...[ns]', freq=None) 字符串‘infer’可以传递以设置索引的频率为创建时推断的频率: In [96]: pd.TimedeltaIndex(["0 days", "10 days",...[ns]', freq='53h') 指定start、end和periods将生成从start到end的一系列均匀间隔的时间增量,包括start和end,结果为TimedeltaIndex中的periods...[ns]', freq='53h') 指定start、end和periods将生成从start到end的一系列均匀间隔的时间增量,包括start和end,结果为TimedeltaIndex中的periods

    13300

    Pandas中的10种索引

    pd.Index Index是Pandas中的常见索引函数,通过它能够构建各种类型的索引,其语法为: [e6c9d24ely1h0gmuv2wmmj20x60detah.jpg] pandas.Index...集合本身是无序的,所以最终的结果并不一定是按照给定的元素顺序: In 7: # 使用集合来创建,集合本身是无序的 pd.Index({"x","y","z"}) Out7: Index(['z', 'x...ordered=None, # 是否排序 dtype=None, # 数据类型 copy=False, # 副本 name=None) # 名字 在下面的例子中我们以一批衣服的尺码作为模拟数据...copy=False, # 副本 name=None # 名字 ) 以时间和日期作为索引,通过date_range函数来生成,具体例子为: In 35: # 默认天为频率 pd.date_range...]', freq='3M') In 39: # Q代表季度 pd.date_range("2022-01-01",periods=6, freq="Q") 显示的结果中以一个季度-3个月为频率:

    3.6K00

    Pandas 2.2 中文官方教程和指南(九·一)

    累积乘积 cummax 累积最大值 cummin 累积最小值 请注意,偶然情况下,一些 NumPy 方法,如 mean、std 和 sum,默认情况下会在 Series 输入中排除 NA: In [...NumPy 支持float、int、bool、timedelta64[ns]和datetime64[ns](请注意,NumPy 不支持时区感知的日期时间)。...In [349]: dft["A"].dtype Out[349]: dtype('float64') 如果 pandas 对象包含具有多种数据类型在单个列中的数据,则列的数据类型将被选择以容纳所有数据类型...[ns]', freq=None) 除了对象转换,to_numeric()还提供另一个参数downcast,该参数可以将新(或已有)的数值数据向下转换为较小的数据类型,以节省内存: In [402]:...在不引入nans的情况下,输入数据的数据类型将被保留。另请参阅对整数 NA 的支持。

    19900

    电商用户复购实战:图解 pandas 的移动函数 shift

    注意这里移动的都是数据,而索引是不移动的,移动之后没有对应值的,就赋值为NaN。...axis:表示按照哪个轴移动。axis=0表示index,横轴;axis=1表示columns,纵轴 fill_value:表示当我们数据发生了移动之后,产生的缺失值用什么数据填充。...import pandas as pd import numpy as np 另一份是和时间相关的: 参数periods 表示每次移动的幅度 可以看到默认情况下,shift函数是在行方向上移动一个单位...) df6 9、求出复购时间间隔 两个字段:时间和时间1的差值,就是每位用户的复购时间间隔,可能存在多个 查看数据的字段类型,我们发现间隔这个字段是一个timedelta64[ns]的类型 我们直接通过...apply函数来获取timedelta64[ns]的days属性,也就是对一个的天数 10、统计每个复购用户的复购总天数和总次数 df7 = df6.groupby("姓名").agg({"天":"sum

    1.9K20

    CSS3笔记

    scale(X,Y)方法,该元素增加或减少的大小,取决于宽度(X轴)和高度(Y轴)的参数 skew() 方法,包含两个参数值,分别表示X轴和Y轴倾斜的角度,如果第二个参数为空,则默认为0,参数为负表示向相反方向倾斜...scale3d(x,y,z) 定义 3D 缩放转换。 scaleX(x) 定义 3D 缩放转换,通过给定一个 X 轴的值。...scaleY(y) 定义 3D 缩放转换,通过给定一个 Y 轴的值。 scaleZ(z) 定义 3D 缩放转换,通过给定一个 Z 轴的值。...(如果该行的尺寸小于弹性盒子元素的尺寸,则会向两个方向溢出相同的长度)。 baseline:如弹性盒子元素的行内轴与侧轴为同一条,则该值与'flex-start'等效。...baseline:如弹性盒子元素的行内轴与侧轴为同一条,则该值与'flex-start'等效。其它情况下,该值将参与基线对齐。

    3.6K30

    Dygraphs 中 x 轴等间距实现

    本文,我们来探讨下,如何在 Dygraphs 中的 X 轴上等间距的展示每一条竖线,间隔是 1s,如上图。 我们的思路是怎样的呢?...在 Dygraphs 中没有相关的 api 直接调用,但是我们发现了这么一个属性 pixelsPerLabel 属性。 pixelsPerLabel 表明 x 轴或者 y 轴标签之间的宽度。...(可以理解为控制轴两点之间的距离)单位是 px。...So,我们下面就有思路了,我们只针对 x 轴来实现(y 轴同理,感兴趣的读者可以自行实现): 计算 chart 容器的宽度 chartWidth,单位是 px 用户选中填充容器的时间是 t 毫秒 取 x...当浏览器缩放,我们怎么处理 针对浏览器的缩放,进行一个监听 addEventListener,重新绘制图形,这是一个不错的选择。

    75730

    数据科学 IPython 笔记本 7.14 处理时间序列

    时间段通常引用时间间隔的特殊情况,其中每个间隔具有统一的长度并且不重叠(例如,构成每天的 24 小时长的时间段)。...时间增量或间隔(duration):引用确切的时间长度(例如,间隔为 22.56 秒)。 在本节中,我们将介绍如何在 Pandas 中使用这些类型的日期/时间数据。...默认情况下,频率为一天: pd.date_range('2015-07-03', '2015-07-10') ''' DatetimeIndex(['2015-07-03', '2015-07-04'...同样,可以通过添加三个字母的星期代码,来修改每周频率的分割点: W-SUN,W-MON,W-TUE,W-WED,以及其他。 除此之外,代码可以与数字组合以指定其他频率。...一般情况下,索引数据的优势(操作期间的自动对齐,直观的数据切片和访问等)仍然有效,并且 Pandas 提供了一些额外的时间序列特定的操作。 我们将以一些股票价格数据为例,看看其中的一些。

    4.6K20

    数据导入与预处理-拓展-pandas时间数据处理01

    主要的贡献者 3.时序数据处理 Pandas可以处理很多的数据类型,其中最初始也最有趣的数据类型之一就是时间序列数据。...类似的,一系列的时间差就组成了TimedeltaIndex, 而将它放到Series中后,Series的类型就变为了timedelta64[ns]。...[ns] Time deltas Timedelta TimedeltaIndex timedelta64[ns] Time spans Period PeriodIndex period[freq]...我们可以将时间序列数据定义为在不同时间间隔获得并按时间顺序排列的数据点的集合 3.2 python中的datetime模块 datetime模块,主要掌握:datetime.date(), datetime.datetime...2. date_range方法 date_range是一种生成连续间隔时间的一种方法,其重要的参数为start, end, freq, periods,它们分别表示开始时间,结束时间,时间间隔,

    6.6K10

    Pandas 2.2 中文官方教程和指南(二十五·二)

    向量化查找 聚合和绘图时间序列 将一个以小时为列、天为行的矩阵转换为连续的行序列,形成时间序列。...看这里 从文件推断数据类型 处理错误行 GH 2886 写入多行索引 CSV 而不写入重复项 读取多个文件以创建单个 DataFrame 将多个文件合并为单个 DataFrame 的最佳方法是逐个读取各个框架...点击这里查看 从文件推断数据类型 处理错误行 GH 2886 写入具有多行索引的 CSV,避免写入重复行 读取多个文件以创建单个 DataFrame 将多个文件合并为单个 DataFrame 的最佳方法是逐个读取各个框架...] B timedelta64[ns] New Dates datetime64[ns] Delta timedelta64[ns] dtype: object...NaT 1 NaT 2 1 days dtype: timedelta64[ns] 创建示例数据 要从给定值的每个组合创建数据框,类似于 R 的expand.grid()函数,我们可以创建一个字典

    17600
    领券