gpt4 book ai didi

python - 在 argparse 中使用 numpy 数据类型

转载 作者:太空狗 更新时间:2023-10-30 02:41:54 28 4
gpt4 key购买 nike

我正在设置一个 Argparse 解析器来通过 shell 读取一些用户输入。输入将用于从包含字符串和数字的 pandas DataFrame 中提取数据。我想在 Argparse.add_argument() 中自动设置 type= 参数以匹配相应列的数据类型。

我的想法是像这样设置 Argparse 参数,其中 inputdata 是 DataFrame:

for c in inputdata.columns:
inputname= c
inputtype= np.dtype(inputdata[c])
parser.add_argument("--"+inputname, type=inputtype)

但是,这不起作用:Python 引发 ValueError: dtype('int64') is not callable 。我认为这是因为我没有正确地为它提供 Numpy 文件类型;如果我例如将 inputtype 设置为 float,一切都按计划进行。如果我手动输入 type=np.int64,Argparse 对此也没有问题。

  • 如何让它接受我的 DataFrame 中的文件类型,即上面显示的循环中的 int64object?我尝试了一些选项 here同样,例如dtype.type 但没有任何效果。

  • 或者这是不可能的? Argparse docs只声明

Common built-in types and functions can be used directly as the value of the type argument

但正如我上面所说,如果明确输入,numpy 数据类型似乎没问题。

感谢您的帮助!

最佳答案

使用

inputtype = np.dtype(inputdata[c]).type

inputtype = inputdata[c].dtype.type

.type 属性是可调用的,可用于创建该数据类型的新实例。

关于python - 在 argparse 中使用 numpy 数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38104558/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com