小编use*_*827的帖子

使用pandas中的数据透视表的加权平均值

我已经编写了一些代码来使用pandas中的数据透视表来计算加权平均值.但是,我不确定如何添加执行加权平均的实际列(添加新列,其中每行包含'cumulative'/'COUNT'的值).

数据看起来像这样:

VALUE   COUNT   GRID    agb
1       43      1476    1051
2       212     1476    2983
5       7       1477    890
4       1361    1477    2310
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

# Read input data
lup_df  = pandas.DataFrame.from_csv(o_dir+LUP+'.csv',index_col=False)
# Insert a new column with area * variable
lup_df['cumulative'] = lup_df['COUNT']*lup_df['agb']

# Create and output pivot table
lup_pvt = pandas.pivot_table(lup_df, 'agb', rows=['GRID'])         
# TODO: Add a new column where each row contains value of 'cumulative'/'COUNT'
lup_pvt.to_csv(o_dir+PIVOT+'.csv',index=True,header=True,sep=',')
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

python pivot-table pandas

5
推荐指数
1
解决办法
4689
查看次数

覆盖netcdf中的特定单元格

是否有netcdf操作符(来自nco或任何python netcdf库)可用于覆盖netcdf文件中的特定单元格?

我想更改包含全球气候数据的netcdf文件中的小区域的值.谢谢!

python netcdf nco cdo-climate

5
推荐指数
2
解决办法
1109
查看次数

使用底图和python在地图中绘制海洋

我正在绘制netCDF文件:https: //goo.gl/QyUI4J

使用下面的代码,地图如下所示: 在此输入图像描述

但是,我希望海洋是白色的.更好的是,我希望能够指定海洋出现的颜色.如何更改下面的代码来做到这一点?现在,问题是海洋正在数据规模上绘制.(请注意,netCDF文件很大~3.5 GB).

import pdb, os, glob, netCDF4, numpy
from matplotlib import pyplot as plt
from mpl_toolkits.basemap import Basemap

def plot_map(path_nc, var_name):
    """
    Plot var_name variable from netCDF file
    :param path_nc: Name of netCDF file
    :param var_name: Name of variable in netCDF file to plot on map
    :return: Nothing, side-effect: plot an image
    """

    nc = netCDF4.Dataset(path_nc, 'r', format='NETCDF4')
    tmax  = nc.variables['time'][:]

    m = Basemap(projection='robin',resolution='c',lat_0=0,lon_0=0)

    m.drawcoastlines()
    m.drawcountries()

    # find x,y of map projection grid.
    lons, lats …
Run Code Online (Sandbox Code Playgroud)

python plot matplotlib-basemap

5
推荐指数
2
解决办法
3826
查看次数

将python colormaps修改为特定点之外的单个值

如何更改色彩映射颜色方案以在点之外显示相同的颜色.

例如,这是我的色彩映射:

import palettable
cmap = palettable.colorbrewer.sequential.YlGn_9.mpl_colormap
Run Code Online (Sandbox Code Playgroud)

如果我使用此色彩图绘制0到100的范围,我如何修改色彩图,使其超过50,它会变为红色?

python matplotlib seaborn

5
推荐指数
1
解决办法
3730
查看次数

XGRegressor的置信区间

有没有办法获得XGRegressor预测的置信区间?像scikit随机森林的forest-ci包?我想要一个python的解决方案

python xgboost

5
推荐指数
0
解决办法
426
查看次数

计算NumPy数组中连续的1

[1, 1, 1, 0, 0, 0, 1, 1, 0, 0]
Run Code Online (Sandbox Code Playgroud)

我有一个像上面一样由 0 和 1 组成的 NumPy 数组。如何添加所有连续的 1,如下所示?每当我遇到 0 时,我都会重置。

[1, 2, 3, 0, 0, 0, 1, 2, 0, 0]
Run Code Online (Sandbox Code Playgroud)

我可以使用 for 循环来做到这一点,但是是否有使用 NumPy 的矢量化解决方案?

python numpy cumsum

5
推荐指数
1
解决办法
1482
查看次数

引用另一个文件夹中的 markdown 文件中的子部分

与 Markdown 相关:引用另一个文件中的部分

\n

我有两个 Markdown 文件:

\n
\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 parent.md\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 content/\n    \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 child.md\n
Run Code Online (Sandbox Code Playgroud)\n

parent.md

\n
# Main section\n## sub-section\n
Run Code Online (Sandbox Code Playgroud)\n

我想引用##sub-section来自child.md. 我怎么做?请注意,它child.md位于子文件夹中。

\n

请注意,我正在使用 Jupyter book 来处理 markdown。

\n

markdown jupyterbook

5
推荐指数
1
解决办法
1206
查看次数

查找限制输入值的 numpy 数组值

我有一个值,比如 2016 和一个排序的 numpy 数组:[2005, 2010, 2015, 2020, 2025, 2030]。在数组中查找绑定 2016 的 2 个值的 Pythonic 方法是什么?在本例中,答案将是一个数组 [2015, 2020]。

不知道除了循环之外如何做到这一点,但希望有一个更基于 numpy 的解决方案

- 编辑:

你可以假设你永远不会得到数组中的值,我对此进行了预过滤

python numpy

4
推荐指数
1
解决办法
1213
查看次数

使用XArray添加全局属性

有什么方法可以netCDF使用向文件添加全局属性xarray吗?当我做类似的事情时hndl_nc['global_attribute'] = 25,它只是添加了一个新变量。

python netcdf python-xarray

4
推荐指数
2
解决办法
1615
查看次数

根据日期拆分数据框

我正在尝试根据日期将数据框分成两个。这已经解决了这里的一个相关问题:Split dataframe into two based on date

我的数据框如下所示:

               abcde     col_b
2008-04-10  0.041913  0.227050
2008-04-11  0.041372  0.228116
2008-04-12  0.040835  0.229199
2008-04-13  0.040300  0.230301
2008-04-14  0.039770  0.231421
Run Code Online (Sandbox Code Playgroud)

我如何根据日期拆分它(比如 2008-04-12 之前和之后)?当我尝试这个时:

df.loc[pd.to_datetime(df.index) <= split_date]
Run Code Online (Sandbox Code Playgroud)

这里split_datedatetime.date(2008-04-12),我得到这个错误:

*** TypeError: <class 'datetime.date'> type object 2008-04-12
Run Code Online (Sandbox Code Playgroud)

python datetime pandas

4
推荐指数
1
解决办法
6993
查看次数