我有这样的数据框:
score year
5/5 2019
1/2 2018
A 2019
Run Code Online (Sandbox Code Playgroud)
我想将分数从字符串转换为浮点数,如 5/5=1, 1/2=0.5,我尝试了 to_numeric 但由于我的值是 a/b 形式,它没有返回给我。请帮我解决一下这个。
我是 xarray 和机器学习方面的新手。
所以我的 xarray 数据集如下:
<xarray.Dataset>
Dimensions: (latitude: 721, longitude: 1440, time: 72)
Coordinates:
* time (time) datetime64[ns] 1950-01-01 1951-01-01 ... 2021-01-01
* longitude (longitude) float32 0.0 0.25 0.5 0.75 ... 359.25 359.5 359.75
* latitude (latitude) float32 90.0 89.75 89.5 89.25 ... -89.5 -89.75 -90.0
Data variables:
z (time, latitude, longitude) float32 49654.793 49654.793 ... 49654.793
Run Code Online (Sandbox Code Playgroud)
现在我想在跨时间维度的每个网格上应用线性回归,然后我想从原始值中删除回归值以删除趋势。下面是一个示例网格的示例。
y = np.array(jan.z[:, 700, 700]) #single grid with all time
x = (np.arange(1950, len(y)+1949)).reshape(-1, 1) #72 time for x axis which …Run Code Online (Sandbox Code Playgroud) python machine-learning linear-regression python-3.x python-xarray
嘿,我正在尝试从 s3 存储桶读取 gzip 文件,这是我的尝试:
s3client = boto3.client(
's3',
region_name='us-east-1'
)
bucketname = 'wind-obj'
file_to_read = '20190101_0000.gz'
fileobj = s3client.get_object(
Bucket=bucketname,
Key=file_to_read
)
filedata = fileobj['Body'].read()
Run Code Online (Sandbox Code Playgroud)
现在要打开 gzip 文件,我正在执行以下操作:
gzip.open(filedata,'rb')
Run Code Online (Sandbox Code Playgroud)
但它给我带来了错误:
ValueError: embedded null byte
Run Code Online (Sandbox Code Playgroud)
所以我想先解码它:
contents = filedata.decode('utf-8')
Run Code Online (Sandbox Code Playgroud)
这引发了另一个错误:
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x8b in position 1: invalid start byte
Run Code Online (Sandbox Code Playgroud)
我尝试使用解码它ISO-8859-1,然后它正在解码,但在打开 gzip 文件时再次出现相同的错误。
或者有没有其他方法可以从 S3 中提取数据,比如使用 URL 之类的?