【发布时间】:2016-08-19 02:47:06
【问题描述】:
我有一个如下的 NumPy 数组:
supp = np.array([['A', '5', '0'], ['B', '3', '0'], ['C', '4', '0'], ['D', '1', '0'], ['E', '2', '0']])
现在,我想将 row[2] 更新为 row[1]/6。 我正在使用..
for row in supp:
row[2] = row[1].astype(int) / 6
但第 [2] 行似乎不受影响..
>>> supp
array([['A', '5', '0'],
['B', '3', '0'],
['C', '4', '0'],
['D', '1', '0'],
['E', '2', '0']],
dtype='<U1')
我正在使用 Python 3.5.2 和 NumPy 1.11.1。
感谢任何帮助。提前致谢
【问题讨论】:
-
提示:看看
supp[0,0] = 5/6的结果 -
试图将字符串和数字放在同一个数组中是个坏主意。根据您的操作,Pandas 可能会为您的用例提供更合适的工具,或者最好去掉第一列并使用 float dtype 数组。
标签: python arrays python-3.x numpy