【问题标题】:Pandas: Merging two header rows熊猫:合并两个标题行
【发布时间】:2023-02-21 04:18:35
【问题描述】:

我目前正在处理一些 netCDF4 文件,并试图将它们放入 pandas 中以简化进一步的操作。以下是有关如何读取和创建 NC 数据集的一些上下文:

vwnd_ds = xr.open_dataset('data/vwnd/vwnd.10m.daily2016.nc')

然后将数据集转换为数据帧:

vwnd_speed = vwnd_ds.to_dataframe()

这会产生以下带有两个行标题的 Dataframe:

vwnd_speed 
vwnd
level lat lon time
data data data data data
data data data data data

这在尝试访问或过滤掉特定列中的数据时会出现问题,因为 pandas 似乎只能识别第一个标题“vwnd”。我正在尝试将两个行标题合并为类似的内容:

level lat lon time vwnd
data data data data data
data data data data data

这样我就可以使用 pandas 进一步操作这些 Dataframes。

我怎样才能做到这一点?

【问题讨论】:

  • pandas 正在将表转换为多索引数据框吗?或者第二层的列是连续的?

标签: python pandas dataframe dataset netcdf4


【解决方案1】:

如果我正确理解你的问题,看起来你搞砸的数据框实际上有一个标题,但前几个列名只是空白。要解决此问题,您可以做的是用您希望它们成为的名称重命名列,然后将包含部分列名的第一行删除。像这样的东西......

df = df.drop([0])
df.columns = ['level', 'lat', 'lon', 'time', 'vwnd']

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-20
    • 2017-06-11
    • 2016-01-01
    • 2023-03-11
    • 1970-01-01
    • 2015-01-08
    相关资源
    最近更新 更多