我有以下数据geo.dat
id lon lat inhab name\n 1 9. 45. 100 Ciri\xc3\xa8\n 2 10. 45. 60 Acquanegra\nRun Code Online (Sandbox Code Playgroud)\n\n我得到它ndarray
import numpy as np\ndata = np.genfromtxt('geo.dat', dtype=None, names=True)\nRun Code Online (Sandbox Code Playgroud)\n\n到目前为止,一切顺利,我有一个可以通过列名寻址的数据结构
\n\nprint(data['name'][1]) #>>> Acquanegra\nRun Code Online (Sandbox Code Playgroud)\n\n下一步,问题 \xe2\x80\x94 我有一个函数,它接受输入两个地理坐标向量(data['LON']当然data['LAT'])并返回两个数组x和y地图上的投影位置(这可以正常工作)。
我可以使用单独的向量x,y但我想增加data两个新列,data['x']并且data['y']。我天真的尝试
data['x'], data['y'] = convert(data['LON'], data['LAT'])\nRun Code Online (Sandbox Code Playgroud)\n\n提出了一个ValueError: no field of name x,教我它data具有字典的一些特征,但字典却没有。
可以如我所愿吗?蒂亚
\n\n请考虑,这.hstack()不适用于结构化数组(又名记录数组),之前的大多数答案仅适用于同质数组(Warren 在下面的评论中提到了例外)。
PS我宁愿不这样做pandas。
您可以使用np.lib.recfunctions:
import numpy.lib.recfunctions as rfn
data = rfn.append_fields(data, ['x', 'y'], [x, y])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2535 次 |
| 最近记录: |