gpt4 book ai didi

python - 类型错误:数组数据类型 ('
转载 作者:行者123 更新时间:2023-12-01 21:35:20 25 4
gpt4 key购买 nike

我正在使用 np.savetxt这是我第一次尝试将两个变量(一个字符串和一个 float )保存在名为“trial.csv”的文件中,如下所示:

import numpy as np

RT = 2.76197329736740
key_name = 'space'

print(RT,key_name)
# Save data in a CSV file named subj_data_file
np.savetxt("trial.csv", (RT,key_name), delimiter=',', header="RTs,Key_Name")

我收到以下错误:

TypeError: Mismatch between array dtype ('<U32') and format specifier ('%.18e')

我不明白这两个的意思('<U32')('%.18e') .事实上,我不明白如何使用 fmt当我有 float 、整数和字符串时...

这是一个简化的示例,但具体来说,我会在一列“RTs”中包含 RT 值( float ),在另一列“Key_Name”中包含 key_name( float )值。稍后我会创建更多的列,虽然我在这个例子中为 RT 提供了一个值,为 key_name 提供了一个值,但是在“RTs”列中会有更多的 RT 值,在“Key_Name”列中也会有更多的键名。

最佳答案

发生这种情况是因为 np.savetxt() 中的默认 fmt 参数是 '%.18e',它适用于数字(整数/ float )。如果您还想保存字符串,则需要将 fmt 参数更改为 '%s'

此外,您需要更改 X 形状以反射(reflect)它是一行两列的事实。因此,您需要将 np.savetxt 更改为如下所示:

np.savetxt("trial.csv", [[RT, key_name]], fmt="%s", delimiter=',', header="RTs,Key_Name")

这意味着所有内容都将保存为字符串。因此,值 2.761.. 不会是 float 。您可以像这样加载此文件:

np.loadtxt("trial.csv",delimiter=',', dtype=str) #notice assiging dtype to str

关于python - 类型错误:数组数据类型 ('<U32' 和格式说明符 ('%.18e' 不匹配),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62026647/

25 4 0

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