【问题标题】:How do I set a numpy array element to a string of more than one character?如何将 numpy 数组元素设置为多个字符的字符串?
【发布时间】:2019-02-22 20:06:03
【问题描述】:

例如,在下面的代码中,当我尝试将数组的元素设置为chr((r+97)) + str(c+1) 的串联字符串时,它只将该元素设置为字符串的第一个数字。我该如何解决这个问题?

row =   3
col =   3  
sboard = np.empty((row,col),dtype=str)
val = chr((r+97)) + str(c+1)
print(val)
sboard[r,c] = val            
print(sboard)

这段代码输出

[['' '' '']
 ['' '' '']
 ['' '' 'c']]

而不是

[['' '' '']
 ['' '' '']
 ['' '' 'c3']]

非常感谢,谢谢

【问题讨论】:

  • str 替换为 'U2',2 个字符的 unicode。

标签: python arrays string numpy chr


【解决方案1】:

尝试使用chararray

替换:

 sboard = np.empty((row,col),dtype=str)

 sboard = np.chararray([3,3],2) # This assumes all of your strings with be 2 characters.
 sboard[:] = ''

【讨论】:

  • 附加信息:Numpy 的设计确实考虑了数值数据。您可能需要考虑它是否真的是文本分析工作的最佳工具。
  • P.S.收到纸条,但看到你是新来的。如果答案解决了您的问题,最好接受它,这样回答者就可以获得荣誉(您也会获得一些声誉)。
  • 我主要将它用于数值分析,但由于这是一次性文本显示,我不想使用其他库 - 感谢您提供信息!
猜你喜欢
  • 1970-01-01
  • 2018-07-01
  • 2016-12-26
  • 1970-01-01
  • 1970-01-01
  • 2021-12-12
  • 2016-03-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多