类似pandas对象,xarray也对象支持沿着每个维度基于整数和标签的查找。 但是xarray对象还具有命名维度,因此您可以选择使用维度名称代替维度的整数索引。...主要有两种方式: 使用字典作为基于标签或位置的索引数组参数 # 根据位置索引 >> arr[dict(space=slice(0, 3, 2), time=slice(None, 2))] ns] 2000-01-01 2000-01-02 * space (space) <U2 'IA' 'IL' 'IN' 这些方法的参数可以是 单个标签值, slice 对象 或 1D数组。...[ 0.98457165, 0.57669922, 0.20617116], [ 0.84849003, 0.53993486, 0.27997644]]) # 获取第一个时间对应的数据...丢弃标签 drop (适用于 Dataset 和 DataArray) 方法会返回具有沿着某一维度丢弃的索引标签的新对象,不改变原对象: >> ds.drop(['IN', 'IL'], dim='
期间 dtype PeriodIndex具有自定义的period dtype。这是类似于时区感知 dtype(datetime64[ns, tz])的 pandas 扩展 dtype。...[ns, Europe/Warsaw]', freq=None) ```### 时区系列操作 具有**naive**值的`Series`以`datetime64[ns]`的 dtype 表示。...[ns] 具有aware值的Series以datetime64[ns, tz]的 dtype 表示,其中tz是时区 In [496]: s_aware = pd.Series(pd.date_range...[ns] 您可以只传递您需要组装的列。...[ns] 你只需要传递你需要组装的列。
,有用的默认值是datetime64[ns],因为它可以编码现代日期的有用范围,具有相当好的精度。...[ns]', freq='D') ''' 或者,可以不使用起点和终点来指定日期范围,而是使用起始点和周期数量来指定日期范围: pd.date_range('2015-07-03', periods=8)...[ns]', freq='H') ''' 要创建Period或Timedelta值的常规序列,非常相似的pd.period_range()和pd.timedelta_range()函数是有用的。...[ns]', freq='B') ''' 频率和偏移的使用的更多讨论,请参阅 Pandas 文档的“日期偏移”部分。...重采样,平移和窗口化 使用日期和时间作为索引,来直观地组织和访问数据的能力,是 Pandas 时间序列工具的重要组成部分。
使用高效的数据类型 默认的 pandas 数据类型并不是最节省内存的。特别是对于具有相对少量唯一值的文本数据列(通常称为“低基数”数据),这一点尤为明显。...使用高效的数据类型 默认的 pandas 数据类型不是最节省内存的。对于具有相对少量唯一值的文本数据列(通常称为“低基数”数据),这一点尤为明显。...使用 DataFrame.sparse.from_spmatrix() 可以从稀疏矩阵创建具有稀疏值的 DataFrame。...不会计算具有 dtype=object 的列中的值所使用的内存。...不计算具有 dtype=object 的列中值的内存使用量。
堆叠式条形图共分成两种: 简单堆叠式条形图。将分段数值一个接一个地放置,条形的总值就是所有段值加在一起,适合用来比较每个分组/分段的总量。 100% 堆叠式条形图。...误差线可以作为一项增强功能来显示数据变化,通常用于显示范围数据集中的标准偏差、标准误差、置信区间或最小/最大值。...条形通常从中心点开始向外延伸,但也可以别处为起点以显示数值范围(如跨度图)。此外,条形也可以如堆叠式条形图般堆叠起来。 推荐的制作工具有:jChartFX、Bokeh。 热图 ?...也称为「范围条形/柱形图」或「浮动条形图」,用来显示数据集内最小值和最大值之间的范围,适合用来比较范围,尤其是已分类的范围。...记数符号图表 (Tally Chart) 既是记录工具,也可通过使用标记数字系统来显示数据分布频率。 在绘制记数符号图表时,将类别、数值或间隔放置在同一个轴或列(通常为 Y 轴或左侧第一列)上。
难度:2 问题:水平堆叠数组a和b。 输入: 输出: 答案: 10.没有硬编码的情况下,在numpy中如何生成自定义序列? 难度:2 问题:创建以下模式而不使用硬编码。...难度:3 问题:过滤具有petallength(第3列)> 1.5和sepallength(第1列)的iris_2d的行。 答案: 35.如何从numpy数组中删除包含缺失值的行?...输入: 答案: 46.如何找到首次出现的值大于给定值的位置? 难度:2 问题:查找在iris数据集的第4列花瓣宽度中第一次出现值大于1.0的位置。...难度:4 问题:计算有唯一值的行数。 输入: 输出: 输出包含10列,表示1到10之间的数字。这些值是相应行中数字数量。 例如,单元(0,2)的值为2,这意味着数字3在第一行中恰好出现2次。...输入: 输出: 答案: 52.如何创建按分类变量分组的行号? 难度:3 问题:创建由分类变量分组的行号。使用iris的species中的样品作为输入。
同时,一系列的时间戳可以组成DatetimeIndex,而将它放到Series中后,Series的类型就变为了datetime64[ns],如果有涉及时区则为datetime64[ns, tz],其中tz...其中,to_datetime能够把一列时间戳格式的对象转换成为datetime64[ns]类型的时间序列....datetime64[ns]本质上可以理解为一个大整数,对于一个该类型的序列,可以使用max, min, mean,来取得最大时间戳、最小时间戳和“平均”时间戳 下面先对to_datetime方法进行演示...', freq=None) 输出为: 传入列表和series的返回值: 注意上面由于传入的是列表,而非pandas内部的Series,因此返回的是DatetimeIndex,如果想要转为datetime64...时间戳的切片和索引 一般而言,时间戳序列作为索引使用。如果想要选出某个子时间戳序列,第一类方法是利用dt对象和布尔条件联合使用,另一种方式是利用切片,后者常用于连续时间戳。
堆叠式条形图共分成两种: 简单堆叠式条形图。将分段数值一个接一个地放置,条形的总值就是所有段值加在一起,适合用来比较每个分组/分段的总量。 100% 堆叠式条形图。...误差线 误差线可以作为一项增强功能来显示数据变化,通常用于显示范围数据集中的标准偏差、标准误差、置信区间或最小/最大值。...条形通常从中心点开始向外延伸,但也可以别处为起点以显示数值范围(如跨度图)。此外,条形也可以如堆叠式条形图般堆叠起来。 推荐的制作工具有:jChartFX、Bokeh。...在绘制记数符号图表时,将类别、数值或间隔放置在同一个轴或列(通常为 Y 轴或左侧第一列)上。每当出现数值时,在相应的列或行中添加记数符号。...完成收集所有数据后,把所有标记加起来并把总数写在下一列或下一行中,最终结果类似于直方图。 推荐的制作工具有:纸和笔。 日历图 人类曾开发出各种日历系统作为组织工具,帮助我们提前做好计划。
本来是作为一部分内容的,但是推送有字数限制。因此拆分为三个部分,每部分都是单独的内容,基本不影响阅读。 DataArray xarray.DataArray 是 xarray 库中带标签的多维数组。...具有如下特性: values: 包含数组值的 numpy.ndarray dims: 每个轴的维度名 (比如: ('x', 'y', 'z')) coords: 包含了每一个点信息的类字典容器 (比如...维度提供了xarray使用的维度名称,从而代替大多数 numpy 函数所使用的 axis(轴) 参数。...如果使用 coords 作为字典,必须明确指定 dims,否则会出错。...[ns] 2000-01-01 2000-01-02 2000-01-03 2000-01-04 const int32 42 上述 coords 字典中,ranking 的值是以元组的形式给定的
使用 DataArray 或 pandas 对象作为参数值: >> xr.Dataset({'bar': foo}) Dimensions: (dim_0: 4, dim...当使用 pandas 对象作为键值时,pandas 索引名会用作维度名,并且其数据会和已有变量进行对齐。...可以用以下对象创建 Dataset: pandas.DataFrame 或 pandas.Panel 分别沿其列或项直接传递给 Dataset 使用 Dataset.from_datafrom 的 pandas.DataFrame...参见 和Pandas一起使用 Dataset 内容 Dataset 使用了 python 的字典接口,而通过 DataArray 提供值: # 判断变量是否包含在 Dataset 中 >> 'temperature...使用 assign 和 assign_coords 可以改变类字典,而且会返回具有额外变量的新数据集: >> ds.assign(temperature2 = 2 * ds.temperature) <
对于具有许多列或行(使用相应的axis参数)的DataFrame,这可以提供有用的性能优势,或者在窗口操作期间利用其他列。...对于具有许多列或行(使用相应的axis参数)的DataFrame,或者在窗口操作期间利用其他列的能力,这可以提供有用的性能优势。...[ns] 你只需传递需要组装的列。...对DataFrame进行重新采样,默认情况下将对所有列使用相同的函数。...在这种情况下,origin将被设置为时间序列的第一个值。
# 18 date_dt 122 non-null datetime64[ns] 2.通过Timestamp创建 d=pd.Timestamp(2023,12,28...这一列数据可以通过日期运算重建该列 疫情爆发的第一天(数据集中最早的一天)是2014-03-22。...计算疫情爆发的天数时,只需要用每个日期减去这个日期即可 获取疫情爆发的第一天 ebola['Date'].min() 添加新列 ebola['outbreak_d'] = ebola['Date'...使用date_range函数创建日期序列时,可以传入一个参数freq,默认情况下freq取值为D,表示日期范围内的值是逐日递增的 # DatetimeIndex(['2014-12-31', '2015...,可用于计时特定代码段) 总结: Pandas中,datetime64用来表示时间序列类型 时间序列类型的数据可以作为行索引,对应的数据类型是DatetimeIndex类型 datetime64类型可以做差
例如,dft_minute['2011-12-31 23:59'] 将引发 KeyError,因为 '2012-12-31 23:59' 的分辨率与索引相同,并且没有具有这样名称的列: 为了始终有明确的选择...逻辑值,指示是否月份的最后一天(由频率定义) is_quarter_start 逻辑值,指示是否季度的第一天(由频率定义) is_quarter_end 逻辑值,指示是否季度的最后一天(由频率定义)...is_year_start 逻辑值,指示是否年份的第一天(由频率定义) is_year_end 逻辑值,指示是否年份的最后一天(由频率定义) is_leap_year 逻辑值,指示日期是否属于闰年 此外...简单地对稀疏系列进行上采样可能会产生大量中间值。当您不想使用填充这些值的方法时,例如fill_method为None,那么中间值将被填充为NaN。...getitem 方法,我们可以选择特定的列或多列。
To_period 在 Pandas 中,操作 to_period 函数允许将日期转换为特定的时间间隔。使用该方法可以获取具有许多不同间隔或周期的日期,例如日、周、月、季度等。...以下是我们通常的使用方式: df["cumulative_sum"] = df["amount"].cumsum()df.head() 这样就获得了金额列的列值累积总和。...df[df["class"]=="A"].head() 类的累积总和列包含为每个类单独计算的累积值总和。 3. Category数据类型 我们经常需要处理具有有限且固定数量的值的分类数据。...例如在我们的 DataFrame 中,”分类“列具有 4 个不同值的分类变量:A、B、C、D。 默认情况下,该列的数据类型为object。...df["class_category"] = df["class"].astype("category")df.dtypes # outputdate datetime64[ns
这种表示方法同样适用于其他基于位置的图表,比如箱形图。而在条形图中,数据值是通过条形与x轴的距离,也就是条形的长度来表示的。...任何同时使用红色和绿色渐变的色带对于红绿色觉异常的人来说都是难以区分的(如图中的第三列所示)。此外,红/绿色和彩虹色系在黑白打印时(即灰度打印,如图中的第二列)几乎无法保留有效信息。...而且,它们的外观也很吸引人。 13. 忽视堆叠条形图的重新排序 堆叠条形图在展示比例数据时非常有用,常用于展示社区结构、人口结构或混合分析等。...计算并报告了每个类别中果实的百分比。研究的问题是:化学处理是否有效? 第一个堆叠条形图作为展示比例数据的标准方式是可以接受的。...正如第一个堆叠条形图所示,化学处理显著增加了深蓝色果实的比例,减少了较浅颜色果实的比例。
date 列包含 100 个连续日期,class 列包含 4 个以对象数据类型存储的不同值,amount 列包含 10 到 100 之间的随机整数。...1、To_period 在 Pandas 中,操 to_period 函数允许将日期转换为特定的时间间隔。使用该方法可以获取具有许多不同间隔或周期的日期,例如日、周、月、季度等。...它计算列中值的累积和。以下是我们通常的使用方式: df["cumulative_sum"] = df["amount"].cumsum() df.head() 这样就获得了金额列值的累积总和。...df[df["class"]=="A"].head() 类·的累积总和列包含为每个类单独计算的累积值总和。 3、Category数据类型 我们经常需要处理具有有限且固定数量的值的分类数据。...例如在我们的 DataFrame 中,”分类“列具有 4 个不同值的分类变量:A、B、C、D。 默认情况下,该列的数据类型为object。
1.创建标准的条形图。 2.创建另一个条形图并将其放在第一个条形图的顶部,然后将新条形图的颜色设置为与背景色相同的颜色,以隐藏第一个条形图的底部。...这两个新的列tot和tot1为我们提供了每个瀑布条的起点和终点。例如,在第2行Expenses(费用)中,起点是110,终点是90。...图2 由于起点和终点可以位于两个新列中的任意一列(取决于值的符号),因此我们可以再创建两列来捕获upper点和lower点: lower= df[['tot','tot1']].min(axis=1)...upper= df[['tot','tot1']].max(axis=1) 我们使用upper点绘制第一组条形图。...connect= df['tot1'].repeat(3).shift(-1) connect[1::3] = np.nan fig,ax = plt.subplots() # 绘制具有颜色的第一个条形
,但也具有用于时间序列操作的专门函数。...3.3 KB """ 如果是单个时间序列的数据,最好将日期列作为数据集的索引。...]', freq='H') """ 格式化 我们dt.strftime方法改变日期列的格式。...[ns] 过滤查询 使用loc方法来过滤DataFrame。...因为我们正在改变频率,所以我们需要使用一个聚合函数(比如均值、最大值等)。 resample方法的参数: rule:数据重新采样的频率。
这会将行转换为 Series 对象,这可能会改变 dtypes 并具有一些性能影响。 itertuples():将 DataFrame 的行作为命名元组的值进行迭代。...元组的第一个元素将是行的相应索引值,而其余值是行值。...元组的第一个元素将是行的相应索引值,而其余值是行值。...### 按索引和值排序 作为 by 参数传递给 DataFrame.sort_values() 的字符串可以指代列或索引级别名称。...如果操作涉及两种不同的数据类型,则将使用更通用的数据类型作为操作的结果。
领取专属 10元无门槛券
手把手带您无忧上云