我将在这里演示彼得潘的答案,我首先展示一个使用外部包的工作实验。为外部包 CVXPY 构建 ZIP 捆绑包并不是那么简单,而是具有教育意义。
Azure ML 中使用 ZIP Bundle 的外部包演示
这是一个关于在 Smit Shah 提供的 Python 脚本模块中使用附加包的工作示例
https://gallery.cortanaintelligence.com/Experiment/Python-additional-package
在哪里
[Information] Extracting Script Bundle.zip to .\Script Bundle
[Information] File Name Modified Size
[Information] adal/__init__.py 2017-05-01 10:03:04 1822
[Information] adal/__init__.pyc 2017-05-01 10:03:12 629
[Information] adal/adal_error.py 2017-05-01 10:03:04 1553
[Information] adal/adal_error.pyc 2017-05-01 10:03:12 685
[Information] adal/argument.py 2017-05-01 10:03:04 2023
[Information] adal/argument.pyc 2017-05-01 10:03:12 837
[Information] adal/authentication_context.py 2017-05-01 10:03:04 13766
[Information] adal/authentication_context.pyc 2017-05-01 10:03:12 14198
[Information] adal/authentication_parameters.py 2017-05-01 10:03:04 8195
[Information] adal/authentication_parameters.pyc 2017-05-01 10:03:12 4820
[Information] adal/authority.py 2017-05-01 10:03:04 6908
[Information] adal/authority.pyc 2017-05-01 10:03:12 6091
[Information] adal/cache_driver.py 2017-05-01 10:03:04 9773
[Information] adal/cache_driver.pyc 2017-05-01 10:03:12 9293
[Information] adal/code_request.py 2017-05-01 10:03:04 2744
[Information] adal/code_request.pyc 2017-05-01 10:03:12 2225
[Information] adal/constants.py 2017-05-01 10:03:04 7359
[Information] adal/constants.pyc 2017-05-01 10:03:12 9305
[Information] adal/log.py 2017-05-01 10:03:04 4058
[Information] adal/log.pyc 2017-05-01 10:03:12 3699
[Information] adal/mex.py 2017-05-01 10:03:04 11186
[Information] adal/mex.pyc 2017-05-01 10:03:12 8804
[Information] adal/oauth2_client.py 2017-05-01 10:03:04 14196
[Information] adal/oauth2_client.pyc 2017-05-01 10:03:12 11619
[Information] adal/self_signed_jwt.py 2017-05-01 10:03:04 4823
[Information] adal/self_signed_jwt.pyc 2017-05-01 10:03:12 5301
[Information] adal/token_cache.py 2017-05-01 10:03:04 4761
[Information] adal/token_cache.pyc 2017-05-01 10:03:12 4883
[Information] adal/token_request.py 2017-05-01 10:03:04 17703
[Information] adal/token_request.pyc 2017-05-01 10:03:12 15096
[Information] adal/user_realm.py 2017-05-01 10:03:04 6362
[Information] adal/user_realm.pyc 2017-05-01 10:03:12 5325
[Information] adal/util.py 2017-05-01 10:03:04 3567
[Information] adal/util.pyc 2017-05-01 10:03:12 2723
[Information] adal/wstrust_request.py 2017-05-01 10:03:04 8402
[Information] adal/wstrust_request.pyc 2017-05-01 10:03:12 6816
[Information] adal/wstrust_response.py 2017-05-01 10:03:04 8751
[Information] adal/wstrust_response.pyc 2017-05-01 10:03:12 5467
[Information] adal/xmlutil.py 2017-05-01 10:03:04 2806
[Information] adal/xmlutil.pyc 2017-05-01 10:03:12 2309
[Information] cryptography/__about__.py 2017-04-27 17:51:38 817
[Information] cryptography/__about__.pyc 2017-04-27 17:51:50 892
[Information] cryptography/__init__.py 2017-04-27 17:51:38 829
[Information] cryptography/__init__.pyc 2017-04-27 17:51:50 962
[Information] cryptography/exceptions.py 2017-04-27 17:51:38 1234
[Information] cryptography/exceptions.pyc 2017-04-27 17:51:50 3406
[Information] cryptography/fernet.py 2017-04-27 17:51:38 4305
[Information] cryptography/fernet.pyc 2017-04-27 17:51:50 5670
[Information] cryptography/hazmat/ 2017-04-27 17:51:50 0
[Information] cryptography/hazmat/__init__.py 2017-04-27 17:51:38 483
[Information] cryptography/hazmat/__init__.pyc 2017-04-27 17:51:50 560
[Information] cryptography/hazmat/backends/ 2017-04-27 17:51:50 0
[Information] cryptography/hazmat/backends/__init__.py 2017-04-27 17:51:38 2403
[Information] cryptography/hazmat/backends/__init__.pyc 2017-04-27 17:51:50 1783
[Information] cryptography/hazmat/backends/commoncrypto/ 2017-04-27 17:51:50 0
[Information] cryptography/hazmat/backends/commoncrypto/__init__.py 2017-04-27 17:51:38 341
[Information] cryptography/hazmat/backends/commoncrypto/__init__.pyc 2017-04-27 17:51:50 448
[Information] cryptography/hazmat/backends/commoncrypto/backend.py 2017-04-27 17:51:38 8840
[Information] cryptography/hazmat/backends/commoncrypto/backend.pyc 2017-04-27 17:51:50 9402
[Information] cryptography/hazmat/backends/commoncrypto/ciphers.py 2017-04-27 17:51:38 9362
[Information] cryptography/hazmat/backends/commoncrypto/ciphers.pyc 2017-04-27 17:51:50 8265
[Information] cryptography/hazmat/backends/commoncrypto/hashes.py 2017-04-27 17:51:38 2040
[Information] cryptography/hazmat/backends/commoncrypto/hashes.pyc 2017-04-27 17:51:50 2884
[Information] cryptography/hazmat/backends/commoncrypto/hmac.py 2017-04-27 17:51:38 2188
[Information] cryptography/hazmat/backends/commoncrypto/hmac.pyc 2017-04-27 17:51:50 3231
[Information] cryptography/hazmat/backends/interfaces.py 2017-04-27 17:51:38 10493
[Information] cryptography/hazmat/backends/interfaces.pyc 2017-04-27 17:51:50 21555
[Information] cryptography/hazmat/backends/multibackend.py 2017-04-27 17:51:38 19700
[Information] cryptography/hazmat/backends/multibackend.pyc 2017-04-27 17:51:50 25269
[Information] cryptography/hazmat/backends/openssl/ 2017-04-27 17:51:50 0
[Information] cryptography/hazmat/backends/openssl/__init__.py 2017-04-27 17:51:38 336
[Information] cryptography/hazmat/backends/openssl/__init__.pyc 2017-04-27 17:51:50 438
[Information] cryptography/hazmat/backends/openssl/backend.py 2017-04-27 17:51:38 68646
[Information] cryptography/hazmat/backends/openssl/backend.pyc 2017-04-27 17:51:50 64293
[Information] cryptography/hazmat/backends/openssl/ciphers.py 2017-04-27 17:51:38 7665
[Information] cryptography/hazmat/backends/openssl/ciphers.pyc 2017-04-27 17:51:50 6101
[Information] cryptography/hazmat/backends/openssl/cmac.py 2017-04-27 17:51:38 2797
[Information] cryptography/hazmat/backends/openssl/cmac.pyc 2017-04-27 17:51:50 3668
[Information] cryptography/hazmat/backends/openssl/decode_asn1.py 2017-04-27 17:51:38 29210
[Information] cryptography/hazmat/backends/openssl/decode_asn1.pyc 2017-04-27 17:51:50 28941
[Information] cryptography/hazmat/backends/openssl/dh.py 2017-04-27 17:51:38 9945
[Information] cryptography/hazmat/backends/openssl/dh.pyc 2017-04-27 17:51:50 10966
[Information] cryptography/hazmat/backends/openssl/dsa.py 2017-04-27 17:51:38 10044
[Information] cryptography/hazmat/backends/openssl/dsa.pyc 2017-04-27 17:51:50 12467
[Information] cryptography/hazmat/backends/openssl/ec.py 2017-04-27 17:51:38 9914
[Information] cryptography/hazmat/backends/openssl/ec.pyc 2017-04-27 17:51:50 12615
[Information] cryptography/hazmat/backends/openssl/encode_asn1.py 2017-04-27 17:51:38 22285
[Information] cryptography/hazmat/backends/openssl/encode_asn1.pyc 2017-04-27 17:51:50 22267
[Information] cryptography/hazmat/backends/openssl/hashes.py 2017-04-27 17:51:38 2532
[Information] cryptography/hazmat/backends/openssl/hashes.pyc 2017-04-27 17:51:50 3185
[Information] cryptography/hazmat/backends/openssl/hmac.py 2017-04-27 17:51:38 2980
[Information] cryptography/hazmat/backends/openssl/hmac.pyc 2017-04-27 17:51:50 3732
[Information] cryptography/hazmat/backends/openssl/rsa.py 2017-04-27 17:51:38 18610
[Information] cryptography/hazmat/backends/openssl/rsa.pyc 2017-04-27 17:51:50 17931
[Information] cryptography/hazmat/backends/openssl/utils.py 2017-04-27 17:51:38 862
[Information] cryptography/hazmat/backends/openssl/utils.pyc 2017-04-27 17:51:50 1088
[Information] cryptography/hazmat/backends/openssl/x509.py 2017-04-27 17:51:38 15804
[Information] cryptography/hazmat/backends/openssl/x509.pyc 2017-04-27 17:51:50 23091
[Information] cryptography/hazmat/bindings/ 2017-04-27 17:51:50 0
[Information] cryptography/hazmat/bindings/__init__.py 2017-04-27 17:51:38 246
[Information] cryptography/hazmat/bindings/__init__.pyc 2017-04-27 17:51:50 313
[Information] cryptography/hazmat/bindings/_constant_time.pyd 2017-04-27 17:51:38 8192
[Information] cryptography/hazmat/bindings/_openssl.pyd 2017-04-27 17:51:38 2754560
[Information] cryptography/hazmat/bindings/_padding.pyd 2017-04-27 17:51:38 8704
[Information] cryptography/hazmat/bindings/commoncrypto/ 2017-04-27 17:51:50 0
[Information] cryptography/hazmat/bindings/commoncrypto/__init__.py 2017-04-27 17:51:38 246
[Information] cryptography/hazmat/bindings/commoncrypto/__init__.pyc 2017-04-27 17:51:50 326
[Information] cryptography/hazmat/bindings/commoncrypto/binding.py 2017-04-27 17:51:38 410
[Information] cryptography/hazmat/bindings/commoncrypto/binding.pyc 2017-04-27 17:51:50 785
[Information] cryptography/hazmat/bindings/openssl/ 2017-04-27 17:51:50 0
[Information] cryptography/hazmat/bindings/openssl/__init__.py 2017-04-27 17:51:38 246
[Information] cryptography/hazmat/bindings/openssl/__init__.pyc 2017-04-27 17:51:50 321
[Information] cryptography/hazmat/bindings/openssl/_conditional.py 2017-04-27 17:51:38 8854
[Information] cryptography/hazmat/bindings/openssl/_conditional.pyc 2017-04-27 17:51:50 8138
[Information] cryptography/hazmat/bindings/openssl/binding.py 2017-04-27 17:51:38 5067
[Information] cryptography/hazmat/bindings/openssl/binding.pyc 2017-04-27 17:51:50 5118
[Information] cryptography/hazmat/primitives/ 2017-04-27 17:51:50 0
[Information] cryptography/hazmat/primitives/__init__.py 2017-04-27 17:51:38 246
[Information] cryptography/hazmat/primitives/__init__.pyc 2017-04-27 17:51:50 315
[Information] cryptography/hazmat/primitives/asymmetric/ 2017-04-27 17:51:50 0
[Information] cryptography/hazmat/primitives/asymmetric/__init__.py 2017-04-27 17:51:38 1020
[Information] cryptography/hazmat/primitives/asymmetric/__init__.pyc 2017-04-27 17:51:50 2305
[Information] cryptography/hazmat/primitives/asymmetric/dh.py 2017-04-27 17:51:38 5093
[Information] cryptography/hazmat/primitives/asymmetric/dh.pyc 2017-04-27 17:51:50 10298
[Information] cryptography/hazmat/primitives/asymmetric/dsa.py 2017-04-27 17:51:38 6890
[Information] cryptography/hazmat/primitives/asymmetric/dsa.pyc 2017-04-27 17:51:50 13468
[Information] cryptography/hazmat/primitives/asymmetric/ec.py 2017-04-27 17:51:38 9570
[Information] cryptography/hazmat/primitives/asymmetric/ec.pyc 2017-04-27 17:51:50 18550
[Information] cryptography/hazmat/primitives/asymmetric/padding.py 2017-04-27 17:51:38 2261
[Information] cryptography/hazmat/primitives/asymmetric/padding.pyc 2017-04-27 17:51:50 4322
[Information] cryptography/hazmat/primitives/asymmetric/rsa.py 2017-04-27 17:51:38 10226
[Information] cryptography/hazmat/primitives/asymmetric/rsa.pyc 2017-04-27 17:51:50 15084
[Information] cryptography/hazmat/primitives/asymmetric/utils.py 2017-04-27 17:51:38 1704
[Information] cryptography/hazmat/primitives/asymmetric/utils.pyc 2017-04-27 17:51:50 2984
[Information] cryptography/hazmat/primitives/ciphers/ 2017-04-27 17:51:50 0
[Information] cryptography/hazmat/primitives/ciphers/__init__.py 2017-04-27 17:51:38 574
[Information] cryptography/hazmat/primitives/ciphers/__init__.pyc 2017-04-27 17:51:50 654
[Information] cryptography/hazmat/primitives/ciphers/algorithms.py 2017-04-27 17:51:38 3424
[Information] cryptography/hazmat/primitives/ciphers/algorithms.pyc 2017-04-27 17:51:50 7930
[Information] cryptography/hazmat/primitives/ciphers/base.py 2017-04-27 17:51:38 7663
[Information] cryptography/hazmat/primitives/ciphers/base.pyc 2017-04-27 17:51:50 12557
[Information] cryptography/hazmat/primitives/ciphers/modes.py 2017-04-27 17:51:38 5517
[Information] cryptography/hazmat/primitives/ciphers/modes.pyc 2017-04-27 17:51:50 9165
[Information] cryptography/hazmat/primitives/cmac.py 2017-04-27 17:51:38 2235
[Information] cryptography/hazmat/primitives/cmac.pyc 2017-04-27 17:51:50 3192
[Information] cryptography/hazmat/primitives/constant_time.py 2017-04-27 17:51:38 798
[Information] cryptography/hazmat/primitives/constant_time.pyc 2017-04-27 17:51:50 1237
[Information] cryptography/hazmat/primitives/hashes.py 2017-04-27 17:51:38 5081
[Information] cryptography/hazmat/primitives/hashes.pyc 2017-04-27 17:51:50 9263
[Information] cryptography/hazmat/primitives/hmac.py 2017-04-27 17:51:38 2353
[Information] cryptography/hazmat/primitives/hmac.pyc 2017-04-27 17:51:50 3322
[Information] cryptography/hazmat/primitives/interfaces/ 2017-04-27 17:51:50 0
[Information] cryptography/hazmat/primitives/interfaces/__init__.py 2017-04-27 17:51:38 884
[Information] cryptography/hazmat/primitives/interfaces/__init__.pyc 2017-04-27 17:51:50 1961
[Information] cryptography/hazmat/primitives/kdf/ 2017-04-27 17:51:50 0
[Information] cryptography/hazmat/primitives/kdf/__init__.py 2017-04-27 17:51:38 771
[Information] cryptography/hazmat/primitives/kdf/__init__.pyc 2017-04-27 17:51:50 1473
[Information] cryptography/hazmat/primitives/kdf/concatkdf.py 2017-04-27 17:51:38 4109
[Information] cryptography/hazmat/primitives/kdf/concatkdf.pyc 2017-04-27 17:51:50 5908
[Information] cryptography/hazmat/primitives/kdf/hkdf.py 2017-04-27 17:51:38 3674
[Information] cryptography/hazmat/primitives/kdf/hkdf.pyc 2017-04-27 17:51:50 4986
[Information] cryptography/hazmat/primitives/kdf/kbkdf.py 2017-04-27 17:51:38 5017
[Information] cryptography/hazmat/primitives/kdf/kbkdf.pyc 2017-04-27 17:51:50 5610
[Information] cryptography/hazmat/primitives/kdf/pbkdf2.py 2017-04-27 17:51:38 2185
[Information] cryptography/hazmat/primitives/kdf/pbkdf2.pyc 2017-04-27 17:51:50 2813
[Information] cryptography/hazmat/primitives/kdf/scrypt.py 2017-04-27 17:51:38 2252
[Information] cryptography/hazmat/primitives/kdf/scrypt.pyc 2017-04-27 17:51:50 2957
[Information] cryptography/hazmat/primitives/kdf/x963kdf.py 2017-04-27 17:51:38 2363
[Information] cryptography/hazmat/primitives/kdf/x963kdf.pyc 2017-04-27 17:51:50 3296
[Information] cryptography/hazmat/primitives/keywrap.py 2017-04-27 17:51:38 3050
[Information] cryptography/hazmat/primitives/keywrap.pyc 2017-04-27 17:51:50 3136
[Information] cryptography/hazmat/primitives/padding.py 2017-04-27 17:51:38 5736
[Information] cryptography/hazmat/primitives/padding.pyc 2017-04-27 17:51:50 10471
[Information] cryptography/hazmat/primitives/serialization.py 2017-04-27 17:51:38 5288
[Information] cryptography/hazmat/primitives/serialization.pyc 2017-04-27 17:51:50 8668
[Information] cryptography/hazmat/primitives/twofactor/ 2017-04-27 17:51:50 0
[Information] cryptography/hazmat/primitives/twofactor/__init__.py 2017-04-27 17:51:38 288
[Information] cryptography/hazmat/primitives/twofactor/__init__.pyc 2017-04-27 17:51:50 607
[Information] cryptography/hazmat/primitives/twofactor/hotp.py 2017-04-27 17:51:38 2589
[Information] cryptography/hazmat/primitives/twofactor/hotp.pyc 2017-04-27 17:51:50 3808
[Information] cryptography/hazmat/primitives/twofactor/totp.py 2017-04-27 17:51:38 1594
[Information] cryptography/hazmat/primitives/twofactor/totp.pyc 2017-04-27 17:51:50 2637
[Information] cryptography/hazmat/primitives/twofactor/utils.py 2017-04-27 17:51:38 954
[Information] cryptography/hazmat/primitives/twofactor/utils.pyc 2017-04-27 17:51:50 1208
[Information] cryptography/utils.py 2017-04-27 17:51:38 4130
[Information] cryptography/utils.pyc 2017-04-27 17:51:50 6969
[Information] cryptography/x509/ 2017-04-27 17:51:50 0
[Information] cryptography/x509/__init__.py 2017-04-27 17:51:38 6857
[Information] cryptography/x509/__init__.pyc 2017-04-27 17:51:50 6944
[Information] cryptography/x509/base.py 2017-04-27 17:51:38 23315
[Information] cryptography/x509/base.pyc 2017-04-27 17:51:50 31205
[Information] cryptography/x509/extensions.py 2017-04-27 17:51:38 37228
[Information] cryptography/x509/extensions.pyc 2017-04-27 17:51:50 59587
[Information] cryptography/x509/general_name.py 2017-04-27 17:51:38 7519
[Information] cryptography/x509/general_name.pyc
...
2017-04-27 11:28:02 21986
[Information] dateutil/relativedelta.pyc 2017-04-27 11:28:06 17516
[Information] dateutil/rrule.py 2017-04-27 11:28:02 61792
[Information] dateutil/rrule.pyc 2017-04-27 11:28:06 48786
[Information] dateutil/tz/ 2017-04-27 11:28:06 0
[Information] dateutil/tz/__init__.py 2017-04-27 11:28:02 145
[Information] dateutil/tz/__init__.pyc 2017-04-27 11:28:06 379
[Information] dateutil/tz/_common.py 2017-04-27 11:28:02 11744
[Information] dateutil/tz/_common.pyc 2017-04-27 11:28:06 13900
[Information] dateutil/tz/tz.py 2017-04-27 11:28:02 48924
[Information] dateutil/tz/tz.pyc 2017-04-27 11:28:06 44590
[Information] dateutil/tz/win.py 2017-04-27 11:28:02 11466
[Information] dateutil/tz/win.pyc 2017-04-27 11:28:06 12475
[Information] dateutil/tzwin.py 2017-04-27 11:28:02 58
[Information] dateutil/tzwin.pyc 2017-04-27 11:28:06 211
[Information] dateutil/zoneinfo/ 2017-04-27 11:28:06 0
[Information] dateutil/zoneinfo/__init__.py 2017-04-27 11:28:02 6810
[Information] dateutil/zoneinfo/__init__.pyc 2017-04-27 11:28:06 7654
[Information] dateutil/zoneinfo/dateutil-zoneinfo.tar.gz 2017-04-27 11:28:02 139671
[Information] dateutil/zoneinfo/rebuild.py 2017-04-27 11:28:02 1688
[Information] dateutil/zoneinfo/rebuild.pyc 2017-04-27 11:28:06 2239
[Information] jwt/__init__.py 2017-06-06 14:51:08 738
[Information] jwt/__init__.pyc 2017-06-06 14:51:08 1177
[Information] jwt/__main__.py 2017-06-06 14:51:08 3585
[Information] jwt/__main__.pyc 2017-06-06 14:51:08 3120
[Information] jwt/algorithms.py 2017-06-06 14:51:08 13758
[Information] jwt/algorithms.pyc 2017-06-06 14:51:08 14450
[Information] jwt/api_jws.py 2017-06-06 14:51:08 7133
[Information] jwt/api_jws.pyc 2017-06-06 14:51:08 7462
[Information] jwt/api_jwt.py 2017-06-06 14:51:08 6547
[Information] jwt/api_jwt.pyc 2017-06-06 14:51:08 6842
[Information] jwt/compat.py 2017-06-06 14:51:08 1784
[Information] jwt/compat.pyc 2017-06-06 14:51:08 2253
[Information] jwt/contrib/ 2017-06-06 14:51:08 0
[Information] jwt/contrib/__init__.py 2017-06-06 14:51:08 0
[Information] jwt/contrib/__init__.pyc 2017-06-06 14:51:08 163
[Information] jwt/contrib/algorithms/ 2017-06-06 14:51:08 0
[Information] jwt/contrib/algorithms/__init__.py 2017-06-06 14:51:08 0
[Information] jwt/contrib/algorithms/__init__.pyc 2017-06-06 14:51:08 174
[Information] jwt/contrib/algorithms/py_ecdsa.py 2017-06-06 14:51:08 1771
[Information] jwt/contrib/algorithms/py_ecdsa.pyc 2017-06-06 14:51:08 2406
[Information] jwt/contrib/algorithms/pycrypto.py 2017-06-06 14:51:08 1250
[Information] jwt/contrib/algorithms/pycrypto.pyc 2017-06-06 14:51:08 2325
[Information] jwt/exceptions.py 2017-06-06 14:51:08 841
[Information] jwt/exceptions.pyc 2017-06-06 14:51:08 2777
[Information] jwt/utils.py 2017-06-06 14:51:08 2629
[Information] jwt/utils.pyc 2017-06-06 14:51:08 4204
因此 ZIP 包以特定方式完成,以便删除包的 dist-info 文件夹,并且仅包含具有包确切名称的文件夹
通过它我能够运行import cvxpy
,请注意新包multiplocess
和CVXCanon
包含在内。然而在解决一个问题时,我得到了ecos
下一个模块丢失的错误。所以我ecos
为原始包中的所有文件创建了一个新目录,ecos.*.wheel
所以更新后的 ZIP Bundle 看起来像这样
通过它,我能够使用名为 CVXPY 的 DCP 工具解决以下凸优化问题。
Python 脚本模块中的代码,用于解决 Azure ML 中的 CVXPY 优化问题
import pandas as pd
from cvxpy import *
import numpy
def azureml_main(dataframe1 = None, dataframe2 = None):
# Problem data.
m = 30
n = 20
numpy.random.seed(1)
A = numpy.random.randn(m, n)
b = numpy.random.randn(m)
# Construct the problem.
x = Variable(n)
objective = Minimize(sum_squares(A*x - b))
constraints = [0 <= x, x <= 1]
prob = Problem(objective, constraints)
# The optimal objective is returned by prob.solve().
result = prob.solve()
# The optimal value for x is stored in x.value.
#print x.value
# The optimal Lagrange multiplier for a constraint
# is stored in constraint.dual_value.
#print constraints[0].dual_value
dataframe1=pd.DataFrame(numpy.zeros(1))
dataframe1[0][0]=result
# Return value must be of a sequence of pandas.DataFrame
return dataframe1,
进一步阅读
- 请注意,代码创建了一个大小为 1 的零矩阵的 Panda DataFrame,可能有更优雅的方法,在
Python Pandas DataFrame 中更多,只存储一个数字?