pandas高级操作:list 转df、重采样

本文详细介绍了如何将list转换为pandas DataFrame,利用pandas读取没有头部信息的CSV文件,以及如何进行数据的重采样操作,同时涵盖了读取Excel文件的方法,旨在提升pandas操作技能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

list转数据框(Dataframe)

# -*- coding:utf-8 -*-
# /usr/bin/python


# 字典转数据框(Dataframe)
from pandas.core.frame import DataFrame
a=[1,2,3,4]#列表a
b=[5,6,7,8]#列表b
c={"a" : a,
 "b" : b}#将列表a,b转换成字典
data=DataFrame(c)#将字典转换成为数据框
print(data)

# 将包含不同子列表的列表转换为数据框
a=[[1,2,3,4],[5,6,7,8]]#包含两个不同的子列表[1,2,3,4]和[5,6,7,8]
data=DataFrame(a)#这时候是以行为标准写入的
print(data)

pandas读取无头csv

import pandas as pd
df = pd.read_csv('allnodes.csv',header = None)#因为没有表头,不把第一行作为每一列的索引
data = []
for i in df.index:
  data.append(tuple(df.values[i]))
allnodes = tuple(data)#若想用二维列表的形式读取即删掉此行语句
print(allnodes)

重新采样

import pandas as pd

index = pd.date_ran
### OCO-2 数据重采样方法 对于OCO-2数据的处理,通常涉及卫星轨道上的离散测量点。这些测量点并非均匀分布于地球表面,因此为了进行有效的分析和与其他数据集对比,常常需要对其进行重采样。 #### 时间维度上的重采样 当涉及到时间序列中的OCO-2 CO₂浓度或其他参数时,可以通过线性插值或更复杂的算法如三次样条插值来估计两个观测时刻之间的值。这种方法适用于填补缺失的数据点或是将不同频率采集的数据统一到相同的间隔上[^2]。 ```python import pandas as pd from scipy.interpolate import interp1d # 假设df是一个包含OCO-2数据的时间序列DataFrame对象 time_series = df['timestamp'] data_values = df['co2_concentration'] # 创建一个用于内插的新时间轴 new_time_axis = pd.date_range(start=time_series.min(), end=time_series.max(), freq='D') # 使用scipy库执行一维插值操作 interpolator = interp1d(time_series, data_values, kind='cubic', fill_value="extrapolate") resampled_data = interpolator(new_time_axis) print(resampled_data) ``` #### 空间维度上的重采样 在地理信息系统(GIS)环境中工作时,可能还需要对空间分辨率不同的栅格图层实施重采样。这一步骤可以采用最近邻法、双线性插值或者更高阶的方法如立方卷积来进行像素级别的换。特别是当目标是从高分辨率向低分辨率变时,平均聚合可能是更好的选择;反之则更多依赖于上述提到的各种形式的空间插值技术。 ```python from osgeo import gdal def resample_raster(input_file_path, output_file_path, target_resolution): dataset = gdal.Open(input_file_path) # 获取输入文件的信息并设定新的分辨率 geotransform = list(dataset.GetGeoTransform()) geotransform[1] = target_resolution # X方向像元大小 geotransform[5] = -target_resolution # Y方向像元大小 options = ['TILED=YES', 'COMPRESS=LZW'] warp_options = gdal.WarpOptions( format='GTiff', xRes=geotransform[1], yRes=-geotransform[5], creationOptions=options, resampleAlg='bilinear' # 可选其他算法如nearest/cubic等 ) out_ds = gdal.Warp(output_file_path, dataset, options=warp_options) del(out_ds) # 调用函数完成具体任务 resample_raster('input.tif', 'output_resampled.tif', 0.05) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI拉呱

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值