gpt4 book ai didi

python - 我如何将文本文件解析为 Python 中的 3D 数组?

转载 作者:行者123 更新时间:2023-12-04 04:00:03 25 4
gpt4 key购买 nike

我有一个维度为 82355 的文本文件。我想将其定义为密度 (82355) 并将其解析为名为 rho(5,91,181) 的三维数组,其中

  • 5 代表天数,
  • 91是纬度数,
  • 181是经度数。

这是包含前 11 个值的文本文件示例。有 5 天,纬度从 -90 度到 90 度,步长为 2 度。对于每个纬度,将有 180 行,对应于从 0 到 360 的经度,以两度为单位。

       Latitude  Longitude           rho
0 -90.0 0.0 3.396760e-12
1 -90.0 2.0 3.397140e-12
2 -90.0 4.0 3.397510e-12
3 -90.0 6.0 3.397870e-12
4 -90.0 8.0 3.398470e-12
5 -90.0 10.0 3.399060e-12
6 -90.0 12.0 3.399810e-12
7 -90.0 14.0 3.400560e-12
8 -90.0 16.0 3.401440e-12
9 -90.0 18.0 3.402310e-12
10 -90.0 20.0 3.403200e-12

我很困惑如何在 Python 中启动这个维度为 82355 的文本文件并将其解析为一个名为 rho(5,91,181) 的 3D 数组。有人有什么建议吗?

最佳答案

文件本身很容易解析,因为它似乎是标准的 tsv 格式。您只需要指定日期的计算方式,然后遍历每一行并将 rho 值放入数组的正确位置:

import numpy as np
import pandas as pd
df = pd.read_csv('path_to_data_file', sep=r'[ \t]+')
rho = np.zeros((5, 9, 181))
for i, e in df.iterrows():
day = calc_day_from(i, e)
lat = int((e['Latitude'] + 90) / 2)
long = int(e['Longitude'] / 2)
rho[day, lat, long] = e['rho']

关于python - 我如何将文本文件解析为 Python 中的 3D 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63222449/

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