小编sai*_*iak的帖子

python - 将整数列表拆分为数字列表

我有一个包含8位整数的列表,其中每个整数代表一个标志.例如:

qc = [11221427, 23414732, 144443277,...]
Run Code Online (Sandbox Code Playgroud)

我想创建8个新变量,其中第一个变量是所有数字的第一个数字,依此类推.例如:

qc1 = [1,2,1]
qc2 = [1,3,4]
Run Code Online (Sandbox Code Playgroud)

我可以使用以下代码计算它:

qc_str = [str(e) for e in qc]

k,l = 0,0

for item in qc_str:
    qc1[k] = int(qc_str[k][l])
    qc2[k] = int(qc_str[k][l+1])
    qc3[k] = int(qc_str[k][l+2])
    qc4[k] = int(qc_str[k][l+3])
    qc5[k] = int(qc_str[k][l+4])
    qc6[k] = int(qc_str[k][l+5])
    qc7[k] = int(qc_str[k][l+6])
    qc8[k] = int(qc_str[k][l+7])

    k += 1
Run Code Online (Sandbox Code Playgroud)

运行100,000行需要花费大量时间.是否有更好或更快的方式.任何想法将不胜感激.

python list

2
推荐指数
1
解决办法
267
查看次数

xarray - 将字符串存储为 'string' 数据类型而不是 Python2.7 的 'char'(n 维字符数组)

我正在使用 xarray 将文本文件转换为 netCDF 格式。当我使用 netCDF4 格式和 Python3 时,它将字符串变量存储为字符串,但当我使用 Python2 时,它将它们存储为 n 维字符数组。我试图在编码中设置 dtype='str' 并且没有任何区别。有没有办法使用 Python2 使这些变量具有字符串数据类型?任何想法将不胜感激。

这是我的代码:

import pandas as pd
import xarray as xr

column_names = ['timestamp', 'air_temp', 'vtempdiff', 'rh', 'pressure', 'wind_dir', 'wind_spd']

df = pd.read_csv(args.input_file, skiprows = 1, header=None, names = column_names)
ds = xr.Dataset.from_dataframe(df)

encoding = {'timestamp': {'dtype': 'str'},
            'air_temp': {'_FillValue': 9.96921e+36, 'dtype': 'f4'}
            }

ds.to_netcdf(op_file.nc, format = 'NETCDF4', unlimited_dims={'time':True}, encoding = encoding)
Run Code Online (Sandbox Code Playgroud)

当我使用 Python3.6 对 op_file.nc 进行 ncdump 时,我得到:

netcdf op_file {
dimensions:
    time = …
Run Code Online (Sandbox Code Playgroud)

python netcdf python-xarray netcdf4 xarray

2
推荐指数
1
解决办法
1010
查看次数

标签 统计

python ×2

list ×1

netcdf ×1

netcdf4 ×1

python-xarray ×1

xarray ×1