【2019.05】Python 教程系列 4 - Pandas (下)

本文详细介绍数据表的操作,包括数据表的合并、连接、重塑、透视、分组和整合。涵盖Pandas库中merge、concat、stack、unstack、pivot、melt、groupby和agg函数的使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

4 数据表的合并和连接

数据表可以按「键」合并,用 merge 函数;可以按「轴」来连接,用 concat 函数。

4.1 合并

按键 (key) 合并可以分「单键合并」和「多键合并」。

单键合并

单键合并用 merge 函数,语法如下:

pd.merge( df1, df2, how=s, on=c )

c 是 df1 和 df2 共有的一栏,合并方式 (how=s) 有四种:

  1. 左连接 (left join):合并之后显示 df1 的所有行
  2. 右连接 (right join):合并之后显示 df2 的所有行
  3. 外连接 (outer join):合并 df1 和 df2 共有的所有行
  4. 内连接 (inner join):合并所有行 (默认情况)

首先创建两个 DataFrame:

  • df_price:4 天的价格 (2019-01-01 到 2019-01-04)
  • df_volume:5 天的交易量 (2019-01-02 到 2019-01-06)
import pandas as pd

df_price = pd.DataFrame({'Date': pd.date_range('2019-1-1', periods=4),'Adj Close': [24.42, 25.00, 25.25, 25.64]})
df_price

DateAdj Close
02019-01-0124.42
12019-01-0225.00
22019-01-0325.25
32019-01-0425.64
df_volume = pd.DataFrame( {'Date': pd.date_range('2019-1-2', periods=5),'Volume' : [56081400, 99455500, 83028700, 100234000, 73829000]})
df_volume
DateVolume
02019-01-0256081400
12019-01-0399455500
22019-01-0483028700
32019-01-05100234000
42019-01-0673829000

接下来用 df_price 和 df_volume 展示四种合并

left join
pd.merge(df_price, df_volume, how='left')
DateAdj CloseVolume
02019-01-0124.42NaN
12019-01-0225.0056081400.0
22019-01-0325.2599455500.0
32019-01-0425.6483028700.0

按 df_price 里 Date 栏里的值来合并数据

  • df_volume 里 Date 栏里没有 2019-01-01,因此 Volume 为 NaN
  • df_volume 里 Date 栏里的 2019-01-05 和 2019-01-06 不在 df_price 里 Date 栏,因此丢弃
right join
pd.merge(df_price, df_volume, how='right')
DateAdj CloseVolume
02019-01-0225.0056081400
12019-01-0325.2599455500
22019-01-0425.6483028700
32019-01-05NaN100234000
42019-01-06NaN73829000

按 df_volume 里 Date 栏里的值来合并数据

  • df_price 里 Date 栏里没有 2019-01-05 和 2019-01-06,因此 Adj Close 为 NaN
  • df_price 里 Date 栏里的 2019-01-01 不在 df_volume 里 Date 栏,因此丢弃
outer join
pd.merge(df_price, df_volume, how='outer')
DateAdj CloseVolume
02019-01-0124.42NaN
12019-01-0225.0056081400.0
22019-01-0325.2599455500.0
32019-01-0425.6483028700.0
42019-01-05NaN100234000.0
52019-01-06NaN73829000.0

按 df_price 和 df_volume 里 Date 栏里的所有值来合并数据

  • df_price 里 Date 栏里没有 2019-01-05 和 2019-01-06,因此 Adj Close 为 NaN
  • df_volume 里 Date 栏里没有 2019-01-01,因此 Volume 为 NaN
inner join
pd.merge(df_price, df_volume, how='inner') # 默认情况
DateAdj CloseVolume
02019-01-0225.0056081400
12019-01-0325.2599455500
22019-01-0425.6483028700

按 df_price 和 df_volume 里 Date 栏里的共有值来合并数据

  • df_price 里 Date 栏里的 2019-01-01 不在 df_volume 里 Date 栏,因此丢弃
  • df_volume 里 Date 栏里的 2019-01-05 和 2019-01-06 不在 df_price 里 Date 栏,因此丢弃

多键合并

多键合并用的语法和单键合并一样,只不过 on=c 中的 c 是多栏。

pd.merge( df1, df2, how=s, on=c )

首先创建两个 DataFrame:

  • portfolio1:3 比产品 FX Option, FX Swap 和 IR Option 的数量
  • portfolio2:4 比产品 FX Option (重复名称), FX Swap 和 IR Swap 的数量
porfolio1 = pd.DataFrame({'Asset': ['FX', 'FX', 'IR'], 
                          'Instrument': ['Option', 'Swap', 'Option'], 
                          'Number': [1, 2, 3]})
porfolio1
AssetInstrumentNumber
0FXOption1
1FXSwap2
2IROption3
porfolio2 = pd.DataFrame({'Asset': ['FX', 'FX', 'FX', 'IR'], 
                          'Instrument': ['Option', 'Option', 'Swap', 'Swap'], 
                          'Number': [4, 5, 6, 7]})
porfolio2
AssetInstrumentNumber
0FXOption4
1FXOption5
2FXSwap6
3IRSwap7

在 ‘Asset’ 和 ‘Instrument’ 两个键上做外合并

pd.merge(porfolio1, porfolio2, on=['Asset', 'Instrument'], how='outer')
AssetInstrumentNumber_xNumber_y
0FXOption1.04.0
1FXOption1.05.0
2FXSwap2.06.0
3IROption3.0NaN
4IRSwapNaN7.0

df1 和 df2 中两个键都有 FX Option 和 FX Swap,因此可以合并它们中 number 那栏。

  • df1 中有 IR Option 而 df2 中没有,因此 Number_y 栏下的值为 NaN
  • df2 中有 IR Swap 而 df1 中没有,因此 Number_x 栏下的值为 NaN

当 df1 和 df2 有两个相同的列 (Asset 和 Instrument) 时,单单只对一列 (Asset) 做合并产出的 DataFrame 会有另一列 (Instrument) 重复的名称。这时 merge 函数给重复的名称加个后缀 _x, _y 等等。

pd.merge( porfolio1, porfolio2, 
          on='Asset' )
AssetInstrument_xNumber_xInstrument_yNumber_y
0FXOption1Option4
1FXOption1Option5
2FXOption1Swap6
3FXSwap2Option4
4FXSwap2Option5
5FXSwap2Swap6
6IROption3Swap7

当没设定 merge 函数里参数 how 时,默认为 inner (内合并)。在 Asset 列下,df1 有 2 个 FX 和 1 个 IR,df2 有 3 个 FX 和 1 个 IR,内合并完有 8 行 (2×3+1×1)。

如果觉得后缀 _x, _y 没有什么具体含义时,可以设定 suffixes 来改后缀。比如 df1 和 df2 存储的是 portoflio1 和 portfolio2 的产品信息,那么将后缀该成 ‘1’ 和 ‘2’ 更贴切。

pd.merge(porfolio1, porfolio2, on='Asset', suffixes=('1','2'))
AssetInstrument1Number1Instrument2Number2
0FXOption1Option4
1FXOption1Option5
2FXOption1Swap6
3FXSwap2Option4
4FXSwap2Option5
5FXSwap2Swap6
6IROption3Swap7

4.2 连接

Numpy 数组可相互连接,用 np.concat;同理,Series 也可相互连接,DataFrame 也可相互连接,用 pd.concat。

连接 Series

在 concat 函数也可设定参数 axis,

  • axis = 0 (默认),沿着轴 0 (行) 连接,得到一个更长的 Series
  • axis = 1,沿着轴 1 (列) 连接,得到一个 DataFrame

被连接的 Series 它们的 index 可以重复 (overlapping),也可以不同。

overlapping index

先定义三个 Series,它们的 index 各不同。

s1 = pd.Series([0, 1], index=['a', 'b'])
s2 = pd.Series([2, 3, 4], index=['c', 'd', 'e'])
s3 = pd.Series([5, 6], index=['f', 'g'])

沿着「轴 0」连接得到一个更长的 Series。

pd.concat([s1, s2, s3])
a    0
b    1
c    2
d    3
e    4
f    5
g    6
dtype: int64

沿着「轴 1」连接得到一个 DataFrame。

pd.concat([s1, s2, s3], axis=1, sort="False")
012
a0.0NaNNaN
b1.0NaNNaN
cNaN2.0NaN
dNaN3.0NaN
eNaN4.0NaN
fNaNNaN5.0
gNaNNaN6.0
non-overlapping index

将 s1 和 s3 沿「轴 0」连接来创建 s4,这样 s4 和 s1 的 index 是有重复的。

s4 = pd.concat([s1, s3])
s4
a    0
b    1
f    5
g    6
dtype: int64

将 s1 和 s4 沿「轴 1」内连接 (即只连接它们共有 index 对应的值)

pd.concat([s1, s4], axis=1, join='inner')
01
a00
b11
hierarchical index

最后还可以将 n 个 Series 沿「轴 0」连接起来,再赋予 3 个 keys 创建多层 Series。

pd.concat( [s1, s1, s3], 
           keys=['one','two','three'])
one    a    0
       b    1
two    a    0
       b    1
three  f    5
       g    6
dtype: int64

连接 DataFrame

连接 DataFrame 的逻辑和连接 Series 的一模一样。

沿着行连接 (axis = 0)

先创建两个 DataFrame,df1 和 df2。

import numpy as np

df1 = pd.DataFrame( np.arange(12).reshape(3,4), 
                    columns=['a','b','c','d'])
df1
abcd
00123
14567
2891011
df2 = pd.DataFrame( np.arange(6).reshape(2,3),
                    columns=['b','d','a'])
df2
bda
0012
1345

沿着行连接分两步

  • 先把 df1 和 df2 列标签补齐
  • 再把 df1 和 df2 纵向连起来

得到的 DataFrame 的 index = [0,1,2,0,1],有重复值。如果 index 不包含重要信息 (如上例),可以将 ignore_index 设置为 True,这样就得到默认的 index 值了。

pd.concat( [df1, df2], ignore_index=True ,sort=False)
abcd
0012.03
1456.07
28910.011
320NaN1
453NaN4
沿着列连接 (axis = 1)

先创建两个 DataFrame,df1 和 df2。

df1 = pd.DataFrame( np.arange(6).reshape(3,2), 
                    index=['a','b','c'],
                    columns=['one','two'] )
df1
onetwo
a01
b23
c45
df2 = pd.DataFrame( 5 + np.arange(4).reshape(2,2), 
                    index=['a','c'], 
                    columns=['three','four'])
df2
threefour
a56
c78

沿着列连接分两步

  • 先把 df1 和 df2 行标签补齐
  • 再把 df1 和 df2 横向连起来

pd.concat( [df1, df2], axis=1 )
C:\Anaconda3\lib\site-packages\ipykernel_launcher.py:2: FutureWarning: Sorting because non-concatenation axis is not aligned. A future version
of pandas will change to not sort by default.

To accept the future behavior, pass 'sort=False'.

To retain the current behavior and silence the warning, pass 'sort=True'.
onetwothreefour
a015.06.0
b23NaNNaN
c457.08.0

5 数据表的重塑和透视

重塑 (reshape) 和透视 (pivot) 两个操作只改变数据表的布局 (layout):

  • 重塑用 stack 和 unstack 函数 (互为逆转操作)
  • 透视用 pivot 和 melt 函数 (互为逆转操作)

5.1 重塑

在〖数据结构之 Pandas (上)〗提到过,DataFrame 和「多层索引的 Series」其实维度是一样,只是展示形式不同。而重塑就是通过改变数据表里面的「行索引」和「列索引」来改变展示形式。

  • 列索引 → 行索引,用 stack 函数
  • 行索引 → 列索引,用 unstack 函数

单层 DataFrame

创建 DataFrame df (1 层行索引,1 层列索引)

symbol = ['JD', 'AAPL']
data = {'行业': ['电商', '科技'],
        '价格': [25.95, 172.97],
        '交易量': [27113291, 18913154]}
df = pd.DataFrame( data, index=symbol )
df.columns.name = '特征'
df.index.name = '代号'
df
特征行业价格交易量
代号
JD电商25.9527113291
AAPL科技172.9718913154

从上表中可知:

  • 行索引 = [JD, AAPL],名称是代号
  • 列索引 = [行业, 价格, 交易量],名称是特征

stack: 列索引 → 行索引

列索引 (特征) 变成了行索引,原来的 DataFrame df 变成了两层 Series (第一层索引是代号,第二层索引是特征)。


c2i_Series = df.stack()
c2i_Series
代号    特征 
JD    行业           电商
      价格        25.95
      交易量    27113291
AAPL  行业           科技
      价格       172.97
      交易量    18913154
dtype: object

思考:变成行索引的特征和原来行索引的代号之间的层次是怎么决定的?好像特征更靠内一点,代号更靠外一点。

unstack: 行索引 → 列索引

行索引 (代号) 变成了列索引,原来的 DataFrame df 也变成了两层 Series (第一层索引是特征,第二层索引是代号)。


i2c_Series = df.unstack()
i2c_Series
特征   代号  
行业   JD            电商
     AAPL          科技
价格   JD         25.95
     AAPL      172.97
交易量  JD      27113291
     AAPL    18913154
dtype: object

思考:变成列索引的特征和原来列索引的代号之间的层次是怎么决定的?这时好像代号更靠内一点,特征更靠外一点。

*规律总结

对 df 做 stack 和 unstack 都得到了「两层 Series」,但是索引的层次不同,那么在背后的规律是什么?首先我们先来看看两个「两层 Series」的 index 包含哪些信息 (以及 df 的 index 和 columns)。


df.index, df.columns
(Index(['JD', 'AAPL'], dtype='object', name='代号'),
 Index(['行业', '价格', '交易量'], dtype='object', name='特征'))
c2i_Series.index
MultiIndex(levels=[['JD', 'AAPL'], ['行业', '价格', '交易量']],
           labels=[[0, 0, 0, 1, 1, 1], [0, 1, 2, 0, 1, 2]],
           names=['代号', '特征'])
i2c_Series.index
MultiIndex(levels=[['行业', '价格', '交易量'], ['JD', 'AAPL']],
           labels=[[0, 0, 1, 1, 2, 2], [0, 1, 0, 1, 0, 1]],
           names=['特征', '代号'])

定义

  • r = [JD, AAPL],名称是代号
  • c = [行业, 价格, 交易量],名称是特征

那么

  • df 的行索引 = r
  • df 的列索引 = c
  • c2i_Series 的索引 = [r, c]
  • i2c_Series 的索引 = [c, r]

现在可以总结规律:

  • 当用 stack 将 df 变成 c2i_Series 时,df 的列索引 c 加在其行索引 r 后面得到 [r, c] 做为 c2i_Series 的多层索引

  • 当用 unstack 将 df 变成 i2c_Series 时,df 的行索引 r 加在其列索引 c 后面得到 [c, r] 做为 i2c_Series 的多层索引

基于层和名称来 unstack

对于多层索引的 Series,unstack 哪一层有两种方法来确定:

  • 基于层 (level-based)
  • 基于名称 (name-based)

拿 c2i_Series 举例 (读者也可以尝试 i2c_Series):

  1. 基于层来 unstack() 时,没有填层数,默认为最后一层。
c2i_Series.unstack()
特征行业价格交易量
代号
JD电商25.9527113291
AAPL科技172.9718913154

c2i_Series 的最后一层 (看上面它的 MultiIndex) 就是 [行业, 价格, 交易量],从行索引转成列索引得到上面的 DataFrame。

  1. 基于层来 unstack() 时,选择第一层 (参数放 0)

c2i_Series.unstack(0)
代号JDAAPL
特征
行业电商科技
价格25.95172.97
交易量2711329118913154

c2i_Series 的第一层 (看上面它的 MultiIndex) 就是 [JD, AAPL],从行索引转成列索引得到上面的 DataFrame。

  1. 基于名称来 unstack
c2i_Series.unstack('代号')
代号JDAAPL
特征
行业电商科技
价格25.95172.97
交易量2711329118913154

c2i_Series 的代号层 (看上面它的 MultiIndex) 就是 [JD, AAPL],从行索引转成列索引得到上面的 DataFrame。

5.2 透视

数据源表通常只包含行和列,那么经常有重复值出现在各列下,因而导致源表不能传递有价值的信息。这时可用「透视」方法调整源表的布局用作更清晰的展示。

「透视」得到的数据表和 Excel 里面的透视表 (pivot table) 是一样的。透视表是用来汇总其它表的数据:

  1. 首先把源表分组,将不同值当做行 (row)、列 (column) 和值 (value)
  2. 然后对各组内数据做汇总操作如排序、平均、累加、计数等

这种动态将·「源表」得到想要「终表」的旋转 (pivoting) 过程,使透视表得以命名。

在 Pandas 里透视的方法有两种:

  • 用 pivot 函数将「一张长表」变「多张宽表」,
  • 用 melt 函数将「多张宽表」变「一张长表」,

6 数据表的分组和整合

DataFrame 中的数据可以根据某些规则分组,然后在每组的数据上计算出不同统计量。这种操作称之为 split-apply-combine,

6.1 数据

6.2 分组 (grouping)

用某一特定标签 (label) 将数据 (data) 分组的语法如下:

data.groupBy( label )

又要提起那句说了无数遍的话「万物皆对象」了。这个 grouped 也不例外,当你对如果使用某个对象感到迷茫时,用 dir() 来查看它的「属性」和「内置方法」。以下几个属性和方法是我们感兴趣的:

  • ngroups: 组的个数 (int)
  • size(): 每组元素的个数 (Series)
  • groups: 每组元素在原 DataFrame 中的索引信息 (dict)
  • get_groups(label): 标签 label 对应的数据 (DataFrame)

多标签分组

groupBy 函数除了支持单标签分组,也支持多标签分组 (将标签放入一个列表中)。

6.3 整合 (aggregating)

做完分组之后 so what?当然是在每组做点数据分析再整合啦。

一个最简单的例子就是上节提到的 size() 函数,用 grouped 对象 (上面根据 Symbol 分组得到的) 来举例。

grouped.size()

除了上述方法,整合还可以用内置函数 aggregate() 或 agg() 作用到「组对象」上。

6.4 split-apply-combine

前几节做的事情的实质就是一个 split-apply-combine 的过程
该 split-apply-combine 过程有三步:

  • 根据 key 来 split 成 n 组
  • 将函数 apply 到每个组
  • 把 n 组的结果 combine 起来

Apply 函数

在 split-apply-combine 过程中,apply 是核心。Python 本身有高阶函数 apply() 来实现它,既然是高阶函数,参数可以是另外的函数了,比如刚定义好的 top()。

将 top() 函数 apply 到按 Symbol 分的每个组上,按每个 Symbol 打印出来了 Volume 栏下的 5 个最大值。

7 总结

【合并数据表】用 merge 函数按数据表的共有列进行左/右/内/外合并。
在这里插入图片描述

【连接数据表】用 concat 函数对 Series 和 DataFrame 沿着不同轴连接。

【重塑数据表】用 stack 函数将「列索引」变成「行索引」,用 unstack 函数将「行索引」变成「列索引」。它们只是改变数据表的布局和展示方式而已。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

【透视数据表】用 pivot 函数将「一张长表」变成「多张宽表」,用 melt 函数将「多张宽表」变成「一张长表」。它们只是改变数据表的布局和展示方式而已。

在这里插入图片描述

在这里插入图片描述

【分组数据表】用 groupBy 函数按不同「列索引」下的值分组。一个「列索引」或多个「列索引」就可以。

【整合数据表】用 agg 函数对每个组做整合而计算统计量。

【split-apply-combine】用 apply 函数做数据分析时美滋滋。

在这里插入图片描述

至此,我们已经打好 Python Basics 的基础,能用 NumPy 做数组计算,能用 SciPy 做插值、积分和优化 ,能用 Pandas 做数据分析 ,现在已经搞很多事情了。现在我们唯一欠缺的是如何画图或可视化数据,下帖从最基础的可视化工具 Matplotlib 开始讲。Stay Tuned!

(E:\VSCodeVenv\hovernet) E:\VSCodeProjects\hovernet-honernet111\pip_cache>pip download -r ..\requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple Collecting docopt==0.6.2 Downloading https://pypi.tuna.tsinghua.edu.cn/packages/a2/55/8f8cab2afd404cf578136ef2cc5dfb50baa1761b68c9da1fb1e4eed343c9/docopt-0.6.2.tar.gz (25 kB) Collecting future==0.18.2 Downloading https://pypi.tuna.tsinghua.edu.cn/packages/45/0b/38b06fd9b92dc2b68d58b75f900e97884c45bedd2ff83203d933cf5851c9/future-0.18.2.tar.gz (829 kB) |████████████████████████████████| 829 kB 6.4 MB/s Collecting imgaug==0.4.0 Downloading https://pypi.tuna.tsinghua.edu.cn/packages/66/b1/af3142c4a85cba6da9f4ebb5ff4e21e2616309552caca5e8acefe9840622/imgaug-0.4.0-py2.py3-none-any.whl (948 kB) |████████████████████████████████| 948 kB ... Collecting matplotlib==3.3.0 Downloading https://pypi.tuna.tsinghua.edu.cn/packages/a9/6f/32fdc7389cb06838e20a7896e272d5ce5284f3008d6148b679775cf242f8/matplotlib-3.3.0-cp36-cp36m-win_amd64.whl (8.8 MB) |████████████████████████████████| 8.8 MB 6.4 MB/s Collecting numpy==1.19.1 Downloading https://pypi.tuna.tsinghua.edu.cn/packages/05/1d/d7b100264346a8722325987f10061b66d3c560bfb292f2c0254736e7531e/numpy-1.19.1-cp36-cp36m-win_amd64.whl (12.9 MB) |████████████████████████████████| 12.9 MB 6.8 MB/s Collecting opencv-python==4.3.0.36 Downloading https://pypi.tuna.tsinghua.edu.cn/packages/00/c4/a652640c1cdf6684706b3d63910ed641149ab246bf198b0befbd6f0b1695/opencv_python-4.3.0.36-cp36-cp36m-win_amd64.whl (33.4 MB) |████████████████████████████████| 33.4 MB ... Collecting pandas==1.1.0 Downloading https://pypi.tuna.tsinghua.edu.cn/packages/6e/c5/333763309600ff7e209891ad935183fc95c4d1085223ded25e4d2b396851/pandas-1.1.0-cp36-cp36m-win_amd64.whl (9.4 MB) |████████████████████████████████| 9.4 MB 6.8 MB/s Collecting pillow==7.2.0 Downloading https://pypi.tuna.tsinghua.edu.cn/packages/f0/03/bec597cb6cc3cab8e3d684c6167c3beafae753f2ed6753af6f072a0714c1/Pillow-7.2.0-cp36-cp36m-win_amd64.whl (2.0 MB) |████████████████████████████████| 2.0 MB ... Collecting psutil==5.7.3 Downloading https://pypi.tuna.tsinghua.edu.cn/packages/9a/c3/3b0023b46fc038eff02fbb69a0e6e50d15a7dce25e717d8469e8eaa837a7/psutil-5.7.3-cp36-cp36m-win_amd64.whl (243 kB) |████████████████████████████████| 243 kB ... Collecting scikit-image==0.17.2 Downloading https://pypi.tuna.tsinghua.edu.cn/packages/09/e2/39fd2aad9858c764bc260acdf4bb63f8096415ee2b782cc2f7ea47a12c79/scikit_image-0.17.2-cp36-cp36m-win_amd64.whl (11.5 MB) |████████████████████████████████| 11.5 MB ... Collecting scikit-learn==0.23.1 Downloading https://pypi.tuna.tsinghua.edu.cn/packages/5e/2e/dde3fd9f0bfb5892b9473b817a64ac9e933794c1af6131a8b2ab1e4b1345/scikit_learn-0.23.1-cp36-cp36m-win_amd64.whl (6.8 MB) |████████████████████████████████| 6.8 MB ... Collecting scipy==1.5.2 Downloading https://pypi.tuna.tsinghua.edu.cn/packages/fc/f6/3d455f8b376a0faf1081dbba38bbd594c074292bdec08feaac589f53bc06/scipy-1.5.2-cp36-cp36m-win_amd64.whl (31.2 MB) |████████████████████████████████| 31.2 MB ... Collecting tensorboard==2.3.0 Downloading https://pypi.tuna.tsinghua.edu.cn/packages/e9/1b/6a420d7e6ba431cf3d51b2a5bfa06a958c4141e3189385963dc7f6fbffb6/tensorboard-2.3.0-py3-none-any.whl (6.8 MB) |████████████████████████████████| 6.8 MB ... Collecting tensorboardx==2.1 Downloading https://pypi.tuna.tsinghua.edu.cn/packages/af/0c/4f41bcd45db376e6fe5c619c01100e9b7531c55791b7244815bac6eac32c/tensorboardX-2.1-py2.py3-none-any.whl (308 kB) |████████████████████████████████| 308 kB ... Collecting termcolor==1.1.0 Downloading https://pypi.tuna.tsinghua.edu.cn/packages/8a/48/a76be51647d0eb9f10e2a4511bf3ffb8cc1e6b14e9e4fab46173aa79f981/termcolor-1.1.0.tar.gz (3.9 kB) Collecting tqdm==4.48.0 Downloading https://pypi.tuna.tsinghua.edu.cn/packages/af/88/7b0ea5fa8192d1733dea459a9e3059afc87819cb4072c43263f2ec7ab768/tqdm-4.48.0-py2.py3-none-any.whl (67 kB) |████████████████████████████████| 67 kB 2.8 MB/s Collecting absl-py>=0.4 Downloading https://pypi.tuna.tsinghua.edu.cn/packages/dd/87/de5c32fa1b1c6c3305d576e299801d8655c175ca9557019906247b994331/absl_py-1.4.0-py3-none-any.whl (126 kB) |████████████████████████████████| 126 kB ... Collecting cycler>=0.10 Downloading https://pypi.tuna.tsinghua.edu.cn/packages/5c/f9/695d6bedebd747e5eb0fe8fad57b72fdf25411273a39791cde838d5a8f51/cycler-0.11.0-py3-none-any.whl (6.4 kB) Collecting google-auth<2,>=1.6.3 Downloading https://pypi.tuna.tsinghua.edu.cn/packages/fb/7a/1b3eb54caee1b8c73c2c3645f78a382eca4805a301a30c64a078e736e446/google_auth-1.35.0-py2.py3-none-any.whl (152 kB) |████████████████████████████████| 152 kB 6.4 MB/s Collecting cachetools<5.0,>=2.0.0 Downloading https://pypi.tuna.tsinghua.edu.cn/packages/ea/c1/4740af52db75e6dbdd57fc7e9478439815bbac549c1c05881be27d19a17d/cachetools-4.2.4-py3-none-any.whl (10 kB) Collecting google-auth-oauthlib<0.5,>=0.4.1 Downloading https://pypi.tuna.tsinghua.edu.cn/packages/b1/0e/0636cc1448a7abc444fb1b3a63655e294e0d2d49092dc3de05241be6d43c/google_auth_oauthlib-0.4.6-py2.py3-none-any.whl (18 kB) Collecting grpcio>=1.24.3 Downloading https://pypi.tuna.tsinghua.edu.cn/packages/30/98/baa62c0b771cb20b0381896fb61926d9bec783fb446eaa53efd4e5c70e3b/grpcio-1.48.2-cp36-cp36m-win_amd64.whl (3.6 MB) |████████████████████████████████| 3.6 MB ... Collecting imageio Downloading https://pypi.tuna.tsinghua.edu.cn/packages/49/f9/4986d7ea281875be92f7780b1d77c1e2e1d1b8f6669c9bb784065c7777cc/imageio-2.15.0-py3-none-any.whl (3.3 MB) |████████████████████████████████| 3.3 MB ... Downloading https://pypi.tuna.tsinghua.edu.cn/packages/a8/7d/170837197f87ccdb6a2ae075eb6699faf1684c81defc0173b413da926041/imageio-2.14.1-py3-none-any.whl (3.3 MB) |████████████████████████████████| 3.3 MB ... Downloading https://pypi.tuna.tsinghua.edu.cn/packages/88/1e/62f8088805f7eb9cc9ce2b8ae7528a4083014f223c4e55d268dc48ac06c6/imageio-2.14.0-py3-none-any.whl (3.3 MB) |████████████████████████████████| 3.3 MB ... Downloading https://pypi.tuna.tsinghua.edu.cn/packages/c0/d5/16fd54b870551e69616ca872abced219d3a8640c4cb463ea9ea3de414dab/imageio-2.13.5-py3-none-any.whl (3.3 MB) |████████████████████████████████| 3.3 MB ... Downloading https://pypi.tuna.tsinghua.edu.cn/packages/1f/e1/e84cd610b272ade158a9991438339f1203831fa47fce064a77b776337e2a/imageio-2.13.4-py3-none-any.whl (3.3 MB) |████████████████████████████████| 3.3 MB ... Downloading https://pypi.tuna.tsinghua.edu.cn/packages/d6/1c/e944fcf11c7ba079c1aeee888d451371be7514fc60e8405b7c3c6fc3a3ae/imageio-2.13.3-py3-none-any.whl (3.3 MB) |████████████████████████████████| 3.3 MB ... Downloading https://pypi.tuna.tsinghua.edu.cn/packages/ff/51/c23197aa296b9a872b436b88e690eecabd1fcdf40ba00d6b1474a2f4055c/imageio-2.13.2-py3-none-any.whl (3.3 MB) |████████████████████████████████| 3.3 MB ... Downloading https://pypi.tuna.tsinghua.edu.cn/packages/93/46/cff0a5440eef59aef829c84cd4a40bd2131be738f61a604a21ab57fcdd9d/imageio-2.13.1-py3-none-any.whl (3.3 MB) |████████████████████████████████| 3.3 MB ... Downloading https://pypi.tuna.tsinghua.edu.cn/packages/57/ac/790d08a3d1a76de30f943b4533bf6750c6135b6fc23ac804530f68c934a5/imageio-2.13.0-py3-none-any.whl (3.3 MB) |████████████████████████████████| 3.3 MB 6.8 MB/s Downloading https://pypi.tuna.tsinghua.edu.cn/packages/6b/35/7f716e84e6c7e6d66501aca3eb6248d49c1409b6401dd1da86693933e1cd/imageio-2.12.0-py3-none-any.whl (3.3 MB) |████████████████████████████████| 3.3 MB ... Downloading https://pypi.tuna.tsinghua.edu.cn/packages/c2/e1/d3b757a68f983e85bc44dbe55ee9965fc5de1ba58c1d15acc1f388efde88/imageio-2.11.1-py3-none-any.whl (3.3 MB) |████████████████████████████████| 3.3 MB ... Downloading https://pypi.tuna.tsinghua.edu.cn/packages/28/2d/a9de5c9471a8dc8e1c56876840669428c22552b7ffeba3dd5aed9fc16077/imageio-2.11.0-py3-none-any.whl (3.3 MB) |████████████████████████████████| 3.3 MB 6.4 MB/s Downloading https://pypi.tuna.tsinghua.edu.cn/packages/85/6c/b286814a187ed707512a9dc5b7add733509aaed9baa04ce133cb4567c0f7/imageio-2.10.5-py3-none-any.whl (3.3 MB) |████████████████████████████████| 3.3 MB ... Downloading https://pypi.tuna.tsinghua.edu.cn/packages/b9/39/6ee130ba4513076cbfe85c807b2c6ed7b187da67f9c1ee6cf442da8c12ea/imageio-2.10.4-py3-none-any.whl (3.3 MB) |████████████████████████████████| 3.3 MB ... Downloading https://pypi.tuna.tsinghua.edu.cn/packages/17/be/4a836c9262b40454c2834c5ab1a20a35e2f23216b0744f666395fab8a046/imageio-2.10.3-py3-none-any.whl (3.3 MB) |████████████████████████████████| 3.3 MB ... Downloading https://pypi.tuna.tsinghua.edu.cn/packages/08/8a/dc5482aec1b90015e8975a3402baf88837c8607fafe2929287dda27dfe82/imageio-2.10.2-py3-none-any.whl (3.3 MB) |████████████████████████████████| 3.3 MB ... Downloading https://pypi.tuna.tsinghua.edu.cn/packages/67/e1/30c3a6f81841e3c2ca924a663317ce0624ca586fbc5b02279be30abeb867/imageio-2.10.1-py3-none-any.whl (3.3 MB) |████████████████████████████████| 3.3 MB 930 kB/s Downloading https://pypi.tuna.tsinghua.edu.cn/packages/6e/57/5d899fae74c1752f52869b613a8210a2480e1a69688e65df6cb26117d45d/imageio-2.9.0-py3-none-any.whl (3.3 MB) |████████████████████████████████| 3.3 MB ... Collecting joblib>=0.11 Downloading https://pypi.tuna.tsinghua.edu.cn/packages/7c/91/d3ba0401e62d7e42816bc7d97b82d19c95c164b3e149a87c0a1c026a735e/joblib-1.1.1-py2.py3-none-any.whl (309 kB) |████████████████████████████████| 309 kB ... Collecting kiwisolver>=1.0.1 Downloading https://pypi.tuna.tsinghua.edu.cn/packages/6e/df/1250c32ab3b532c32a7e47c1cd240faba98f75b1b5150939b10e9bffb758/kiwisolver-1.3.1-cp36-cp36m-win_amd64.whl (51 kB) |████████████████████████████████| 51 kB 44 kB/s Collecting markdown>=2.6.8 Downloading https://pypi.tuna.tsinghua.edu.cn/packages/f3/df/ca72f352e15b6f8ce32b74af029f1189abffb906f7c137501ffe69c98a65/Markdown-3.3.7-py3-none-any.whl (97 kB) |████████████████████████████████| 97 kB ... Collecting importlib-metadata>=4.4 Downloading https://pypi.tuna.tsinghua.edu.cn/packages/a0/a1/b153a0a4caf7a7e3f15c2cd56c7702e2cf3d89b1b359d1f1c5e59d68f4ce/importlib_metadata-4.8.3-py3-none-any.whl (17 kB) Collecting networkx>=2.0 Downloading https://pypi.tuna.tsinghua.edu.cn/packages/f3/b7/c7f488101c0bb5e4178f3cde416004280fd40262433496830de8a8c21613/networkx-2.5.1-py3-none-any.whl (1.6 MB) |████████████████████████████████| 1.6 MB ... Collecting decorator<5,>=4.3 Downloading https://pypi.tuna.tsinghua.edu.cn/packages/ed/1b/72a1821152d07cf1d8b6fce298aeb06a7eb90f4d6d41acec9861e7cc6df0/decorator-4.4.2-py2.py3-none-any.whl (9.2 kB) Collecting protobuf>=3.6.0 Downloading https://pypi.tuna.tsinghua.edu.cn/packages/98/f4/b21be85a824309351356c9a229cf9614d521620e26202a36d5fff2353c37/protobuf-3.19.6-cp36-cp36m-win_amd64.whl (897 kB) |████████████████████████████████| 897 kB 6.8 MB/s Collecting pyasn1-modules>=0.2.1 Downloading https://pypi.tuna.tsinghua.edu.cn/packages/cd/8e/bea464350e1b8c6ed0da3a312659cb648804a08af6cacc6435867f74f8bd/pyasn1_modules-0.3.0-py2.py3-none-any.whl (181 kB) |████████████████████████████████| 181 kB ... Collecting pyasn1<0.6.0,>=0.4.6 Downloading https://pypi.tuna.tsinghua.edu.cn/packages/d1/75/4686d2872bf2fc0b37917cbc8bbf0dd3a5cdb0990799be1b9cbf1e1eb733/pyasn1-0.5.1-py2.py3-none-any.whl (84 kB) |████████████████████████████████| 84 kB ... Collecting pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.3 Downloading https://pypi.tuna.tsinghua.edu.cn/packages/e5/0c/0e3c05b1c87bb6a1c76d281b0f35e78d2d80ac91b5f8f524cebf77f51049/pyparsing-3.1.4-py3-none-any.whl (104 kB) |████████████████████████████████| 104 kB ... Collecting python-dateutil>=2.1 Downloading https://pypi.tuna.tsinghua.edu.cn/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl (229 kB) |████████████████████████████████| 229 kB ... Collecting pytz>=2017.2 Downloading https://pypi.tuna.tsinghua.edu.cn/packages/81/c4/34e93fe5f5429d7570ec1fa436f1986fb1f00c3e0f43a589fe2bbcd22c3f/pytz-2025.2-py2.py3-none-any.whl (509 kB) |████████████████████████████████| 509 kB ... Collecting PyWavelets>=1.1.1 Downloading https://pypi.tuna.tsinghua.edu.cn/packages/30/9f/60c3b80bcefc7e3cbc76c0925e05159312cae0f3e8bf822cf50ba30b5312/PyWavelets-1.1.1-cp36-cp36m-win_amd64.whl (4.2 MB) |████████████████████████████████| 4.2 MB ... Collecting requests<3,>=2.21.0 Downloading https://pypi.tuna.tsinghua.edu.cn/packages/2d/61/08076519c80041bc0ffa1a8af0cbd3bf3e2b62af10435d269a9d0f40564d/requests-2.27.1-py2.py3-none-any.whl (63 kB) |████████████████████████████████| 63 kB ... Collecting certifi>=2017.4.17 Downloading https://pypi.tuna.tsinghua.edu.cn/packages/4a/7e/3db2bd1b1f9e95f7cddca6d6e75e2f2bd9f51b1246e546d88addca0106bd/certifi-2025.4.26-py3-none-any.whl (159 kB) |████████████████████████████████| 159 kB 6.4 MB/s Collecting charset-normalizer~=2.0.0 Downloading https://pypi.tuna.tsinghua.edu.cn/packages/06/b3/24afc8868eba069a7f03650ac750a778862dc34941a4bebeb58706715726/charset_normalizer-2.0.12-py3-none-any.whl (39 kB) Collecting idna<4,>=2.5 Downloading https://pypi.tuna.tsinghua.edu.cn/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl (70 kB) |████████████████████████████████| 70 kB ... Collecting requests-oauthlib>=0.7.0 Downloading https://pypi.tuna.tsinghua.edu.cn/packages/3b/5d/63d4ae3b9daea098d5d6f5da83984853c1bbacd5dc826764b249fe119d24/requests_oauthlib-2.0.0-py2.py3-none-any.whl (24 kB) Collecting oauthlib>=3.0.0 Downloading https://pypi.tuna.tsinghua.edu.cn/packages/7e/80/cab10959dc1faead58dc8384a781dfbf93cb4d33d50988f7a69f1b7c9bbe/oauthlib-3.2.2-py3-none-any.whl (151 kB) |████████████████████████████████| 151 kB ... Collecting rsa<5,>=3.1.4 Downloading https://pypi.tuna.tsinghua.edu.cn/packages/64/8d/0133e4eb4beed9e425d9a98ed6e081a55d195481b7632472be1af08d2f6b/rsa-4.9.1-py3-none-any.whl (34 kB) Collecting setuptools>=41.0.0 Downloading https://pypi.tuna.tsinghua.edu.cn/packages/b0/3a/88b210db68e56854d0bcf4b38e165e03be377e13907746f825790f3df5bf/setuptools-59.6.0-py3-none-any.whl (952 kB) |████████████████████████████████| 952 kB ... Collecting Shapely Downloading https://pypi.tuna.tsinghua.edu.cn/packages/b6/8f/f1beeb3585a7db42062bb67ce1766b55a7b3e25af1a916a0879bc249b5c9/Shapely-1.8.5.post1-cp36-cp36m-win_amd64.whl (1.3 MB) |████████████████████████████████| 1.3 MB 6.4 MB/s Collecting six Downloading https://pypi.tuna.tsinghua.edu.cn/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl (11 kB) Collecting tensorboard-plugin-wit>=1.6.0 Downloading https://pypi.tuna.tsinghua.edu.cn/packages/e0/68/e8ecfac5dd594b676c23a7f07ea34c197d7d69b3313afdf8ac1b0a9905a2/tensorboard_plugin_wit-1.8.1-py3-none-any.whl (781 kB) |████████████████████████████████| 781 kB 6.8 MB/s Collecting threadpoolctl>=2.0.0 Downloading https://pypi.tuna.tsinghua.edu.cn/packages/61/cf/6e354304bcb9c6413c4e02a747b600061c21d38ba51e7e544ac7bc66aecc/threadpoolctl-3.1.0-py3-none-any.whl (14 kB) Collecting tifffile>=2019.7.26 Downloading https://pypi.tuna.tsinghua.edu.cn/packages/42/6b/93a8ee61c6fbe20fa9c17928bd3b80484902b7fd454cecaffba42f5052cb/tifffile-2020.9.3-py3-none-any.whl (148 kB) |████████████████████████████████| 148 kB ... Collecting typing-extensions>=3.6.4 Downloading https://pypi.tuna.tsinghua.edu.cn/packages/45/6b/44f7f8f1e110027cf88956b59f2fad776cca7e1704396d043f89effd3a0e/typing_extensions-4.1.1-py3-none-any.whl (26 kB) Collecting urllib3<1.27,>=1.21.1 Downloading https://pypi.tuna.tsinghua.edu.cn/packages/33/cf/8435d5a7159e2a9c83a95896ed596f68cf798005fe107cc655b5c5c14704/urllib3-1.26.20-py2.py3-none-any.whl (144 kB) |████████████████████████████████| 144 kB ... Collecting werkzeug>=0.11.15 Downloading https://pypi.tuna.tsinghua.edu.cn/packages/f4/f3/22afbdb20cc4654b10c98043414a14057cd27fdba9d4ae61cea596000ba2/Werkzeug-2.0.3-py3-none-any.whl (289 kB) |████████████████████████████████| 289 kB ... Collecting dataclasses Downloading https://pypi.tuna.tsinghua.edu.cn/packages/fe/ca/75fac5856ab5cfa51bbbcefa250182e50441074fdc3f803f6e76451fab43/dataclasses-0.8-py3-none-any.whl (19 kB) Collecting wheel>=0.26 Downloading https://pypi.tuna.tsinghua.edu.cn/packages/27/d6/003e593296a85fd6ed616ed962795b2f87709c3eee2bca4f6d0fe55c6d00/wheel-0.37.1-py2.py3-none-any.whl (35 kB) Collecting zipp>=0.5 Downloading https://pypi.tuna.tsinghua.edu.cn/packages/bd/df/d4a4974a3e3957fd1c1fa3082366d7fff6e428ddb55f074bf64876f8e8ad/zipp-3.6.0-py3-none-any.whl (5.3 kB) WARNING: The candidate selected for download or install is a yanked version: 'opencv-python' candidate (version 4.3.0.36 at https://pypi.tuna.tsinghua.edu.cn/packages/00/c4/a652640c1cdf6684706b3d63910ed641149ab246bf198b0befbd6f0b1695/opencv_python-4.3.0.36-cp36-cp36m-win_amd64.whl#sha256=f6fa2834d85c78865ca6e3de563916086cb8c83c3f2ef80924fcd07005f05df9 (from https://pypi.tuna.tsinghua.edu.cn/simple/opencv-python/)) Reason for being yanked: deprecated, use 4.3.0.38 Saved e:\vscodeprojects\hovernet-honernet111\pip_cache\docopt-0.6.2.tar.gz Saved e:\vscodeprojects\hovernet-honernet111\pip_cache\future-0.18.2.tar.gz Saved e:\vscodeprojects\hovernet-honernet111\pip_cache\imgaug-0.4.0-py2.py3-none-any.whl Saved e:\vscodeprojects\hovernet-honernet111\pip_cache\matplotlib-3.3.0-cp36-cp36m-win_amd64.whl Saved e:\vscodeprojects\hovernet-honernet111\pip_cache\numpy-1.19.1-cp36-cp36m-win_amd64.whl Saved e:\vscodeprojects\hovernet-honernet111\pip_cache\opencv_python-4.3.0.36-cp36-cp36m-win_amd64.whl Saved e:\vscodeprojects\hovernet-honernet111\pip_cache\pandas-1.1.0-cp36-cp36m-win_amd64.whl Saved e:\vscodeprojects\hovernet-honernet111\pip_cache\pillow-7.2.0-cp36-cp36m-win_amd64.whl Saved e:\vscodeprojects\hovernet-honernet111\pip_cache\psutil-5.7.3-cp36-cp36m-win_amd64.whl Saved e:\vscodeprojects\hovernet-honernet111\pip_cache\scikit_image-0.17.2-cp36-cp36m-win_amd64.whl Saved e:\vscodeprojects\hovernet-honernet111\pip_cache\scikit_learn-0.23.1-cp36-cp36m-win_amd64.whl Saved e:\vscodeprojects\hovernet-honernet111\pip_cache\scipy-1.5.2-cp36-cp36m-win_amd64.whl Saved e:\vscodeprojects\hovernet-honernet111\pip_cache\tensorboard-2.3.0-py3-none-any.whl Saved e:\vscodeprojects\hovernet-honernet111\pip_cache\tensorboardx-2.1-py2.py3-none-any.whl Saved e:\vscodeprojects\hovernet-honernet111\pip_cache\termcolor-1.1.0.tar.gz Saved e:\vscodeprojects\hovernet-honernet111\pip_cache\tqdm-4.48.0-py2.py3-none-any.whl Saved e:\vscodeprojects\hovernet-honernet111\pip_cache\absl_py-1.4.0-py3-none-any.whl Saved e:\vscodeprojects\hovernet-honernet111\pip_cache\cycler-0.11.0-py3-none-any.whl Saved e:\vscodeprojects\hovernet-honernet111\pip_cache\google_auth-1.35.0-py2.py3-none-any.whl Saved e:\vscodeprojects\hovernet-honernet111\pip_cache\cachetools-4.2.4-py3-none-any.whl Saved e:\vscodeprojects\hovernet-honernet111\pip_cache\google_auth_oauthlib-0.4.6-py2.py3-none-any.whl Saved e:\vscodeprojects\hovernet-honernet111\pip_cache\grpcio-1.48.2-cp36-cp36m-win_amd64.whl Saved e:\vscodeprojects\hovernet-honernet111\pip_cache\imageio-2.9.0-py3-none-any.whl Saved e:\vscodeprojects\hovernet-honernet111\pip_cache\joblib-1.1.1-py2.py3-none-any.whl Saved e:\vscodeprojects\hovernet-honernet111\pip_cache\kiwisolver-1.3.1-cp36-cp36m-win_amd64.whl Saved e:\vscodeprojects\hovernet-honernet111\pip_cache\markdown-3.3.7-py3-none-any.whl Saved e:\vscodeprojects\hovernet-honernet111\pip_cache\importlib_metadata-4.8.3-py3-none-any.whl Saved e:\vscodeprojects\hovernet-honernet111\pip_cache\networkx-2.5.1-py3-none-any.whl Saved e:\vscodeprojects\hovernet-honernet111\pip_cache\decorator-4.4.2-py2.py3-none-any.whl Saved e:\vscodeprojects\hovernet-honernet111\pip_cache\protobuf-3.19.6-cp36-cp36m-win_amd64.whl Saved e:\vscodeprojects\hovernet-honernet111\pip_cache\pyasn1_modules-0.3.0-py2.py3-none-any.whl Saved e:\vscodeprojects\hovernet-honernet111\pip_cache\pyasn1-0.5.1-py2.py3-none-any.whl Saved e:\vscodeprojects\hovernet-honernet111\pip_cache\pyparsing-3.1.4-py3-none-any.whl Saved e:\vscodeprojects\hovernet-honernet111\pip_cache\python_dateutil-2.9.0.post0-py2.py3-none-any.whl Saved e:\vscodeprojects\hovernet-honernet111\pip_cache\pytz-2025.2-py2.py3-none-any.whl Saved e:\vscodeprojects\hovernet-honernet111\pip_cache\pywavelets-1.1.1-cp36-cp36m-win_amd64.whl Saved e:\vscodeprojects\hovernet-honernet111\pip_cache\requests-2.27.1-py2.py3-none-any.whl Saved e:\vscodeprojects\hovernet-honernet111\pip_cache\certifi-2025.4.26-py3-none-any.whl Saved e:\vscodeprojects\hovernet-honernet111\pip_cache\charset_normalizer-2.0.12-py3-none-any.whl Saved e:\vscodeprojects\hovernet-honernet111\pip_cache\idna-3.10-py3-none-any.whl Saved e:\vscodeprojects\hovernet-honernet111\pip_cache\requests_oauthlib-2.0.0-py2.py3-none-any.whl Saved e:\vscodeprojects\hovernet-honernet111\pip_cache\oauthlib-3.2.2-py3-none-any.whl Saved e:\vscodeprojects\hovernet-honernet111\pip_cache\rsa-4.9.1-py3-none-any.whl Saved e:\vscodeprojects\hovernet-honernet111\pip_cache\setuptools-59.6.0-py3-none-any.whl Saved e:\vscodeprojects\hovernet-honernet111\pip_cache\shapely-1.8.5.post1-cp36-cp36m-win_amd64.whl Saved e:\vscodeprojects\hovernet-honernet111\pip_cache\six-1.17.0-py2.py3-none-any.whl Saved e:\vscodeprojects\hovernet-honernet111\pip_cache\tensorboard_plugin_wit-1.8.1-py3-none-any.whl Saved e:\vscodeprojects\hovernet-honernet111\pip_cache\threadpoolctl-3.1.0-py3-none-any.whl Saved e:\vscodeprojects\hovernet-honernet111\pip_cache\tifffile-2020.9.3-py3-none-any.whl Saved e:\vscodeprojects\hovernet-honernet111\pip_cache\typing_extensions-4.1.1-py3-none-any.whl Saved e:\vscodeprojects\hovernet-honernet111\pip_cache\urllib3-1.26.20-py2.py3-none-any.whl Saved e:\vscodeprojects\hovernet-honernet111\pip_cache\werkzeug-2.0.3-py3-none-any.whl Saved e:\vscodeprojects\hovernet-honernet111\pip_cache\dataclasses-0.8-py3-none-any.whl Saved e:\vscodeprojects\hovernet-honernet111\pip_cache\wheel-0.37.1-py2.py3-none-any.whl Saved e:\vscodeprojects\hovernet-honernet111\pip_cache\zipp-3.6.0-py3-none-any.whl Successfully downloaded docopt future imgaug matplotlib numpy opencv-python pandas pillow psutil scikit-image scikit-learn scipy tensorboard tensorboardx termcolor tqdm absl-py cycler google-auth cachetools google-auth-oauthlib grpcio imageio joblib kiwisolver markdown importlib-metadata networkx decorator protobuf pyasn1-modules pyasn1 pyparsing python-dateutil pytz PyWavelets requests certifi charset-normalizer idna requests-oauthlib oauthlib rsa setuptools Shapely six tensorboard-plugin-wit threadpoolctl tifffile typing-extensions urllib3 werkzeug dataclasses wheel zipp 详细告诉我进程里都发生了什么,为什么会有警告?最终算是成功安装了吗
最新发布
08-09
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值