小编use*_*827的帖子

使用Python for Linux模拟按键事件

我正在编写一个脚本来自动运行特定模型.当模型失败时,它等待用户输入(Enter键).我可以检测到模型何时失败,但我无法使用python(在linux上)来模拟按键事件.Windows有SendKeys库来做这个,但我想知道在Linux上是否有类似的python库.

谢谢!

python linux key keypress simulate

14
推荐指数
3
解决办法
4万
查看次数

熊猫取代了价值观

我有以下数据帧:

     col
0    pre
1    post
2    a
3    b
4    post
5    pre
6    pre
Run Code Online (Sandbox Code Playgroud)

我想将数据框中不包含'pre'的所有行替换为'nonpre',因此数据框如下所示:

     col
0    pre
1    nonpre
2    nonpre
3    nonpre
4    nonpre
5    pre
6    pre
Run Code Online (Sandbox Code Playgroud)

我可以使用字典和pandas替换来做到这一点,但是我想只选择不是'pre'的元素并用'nonpre'替换它们.没有在字典中列出所有可能的col值,有更好的方法吗?

python replace pandas

14
推荐指数
2
解决办法
3万
查看次数

获取python多处理中当前正在执行的输入的索引

    from multiprocessing import Pool
    with Pool(processes=5) as p:
        p.starmap(name_of_function, all_inputs)
Run Code Online (Sandbox Code Playgroud)

我有一段像上面这样并行执行函数的代码.假设all_inputs有10,000个元素,我想知道哪个元素正在执行,例如10,000个中的100个...有没有办法获得该索引?

python multiprocessing

14
推荐指数
3
解决办法
1915
查看次数

没有为pandas boxplot设置标题(groupby)

当绘制一个由另一列分组的pandas boxplot时,pandas会自动为该绘图添加一个标题,并说"Boxplot by ....".有没有办法删除它?我试过用

suptitle('')
Run Code Online (Sandbox Code Playgroud)

根据Pandas:基于另一列的一列的boxplot

但这似乎不起作用.我正在使用最新的熊猫(0.13.1)版本.

python title boxplot pandas

13
推荐指数
3
解决办法
7749
查看次数

在Matplotlib中绘制阴影外的箭头

我有以下网格图,并想绘制一个箭头(使用MS绘制蓝色显示).我怎么能通过matplotlib做到这一点?我不知道有任何命令要做.

在此输入图像描述

python matplotlib

13
推荐指数
2
解决办法
5179
查看次数

加快阅读python中非常大的netcdf文件

我有一个非常大的netCDF文件,我正在使用python中的netCDF4阅读

我无法一次读取此文件,因为它的尺寸(1200 x 720 x 1440)太大,整个文件不能同时在内存中.第一维代表时间,下一个分别代表纬度和经度.

import netCDF4 
nc_file = netCDF4.Dataset(path_file, 'r', format='NETCDF4')
for yr in years:
    nc_file.variables[variable_name][int(yr), :, :]
Run Code Online (Sandbox Code Playgroud)

然而,一次阅读一年是非常缓慢的.如何加快以下用例的速度?

- 编辑

chunksize是1

  1. 我可以阅读一系列年份:nc_file.variables [variable_name] [0:100,:,]

  2. 有几个用例:

    多年来:

    numpy.ma.sum(nc_file.variables[variable_name][int(yr), :, :])
    
    Run Code Online (Sandbox Code Playgroud)

# Multiply each year by a 2D array of shape (720 x 1440)
for yr in years:
    numpy.ma.sum(nc_file.variables[variable_name][int(yr), :, :] * arr_2d)
Run Code Online (Sandbox Code Playgroud)
# Add 2 netcdf files together 
for yr in years:
    numpy.ma.sum(nc_file.variables[variable_name][int(yr), :, :] + 
                 nc_file2.variables[variable_name][int(yr), :, :])
Run Code Online (Sandbox Code Playgroud)

python numpy netcdf dask python-xarray

13
推荐指数
1
解决办法
4711
查看次数

seaborn热图图中的离散传说

我使用这里的数据来构建使用seaborn和pandas的热图.

输入csv文件位于:https://www.dropbox.com/s/5jc1vr6u8j7058v/LUH2_trans_matrix.csv? dl = 0

码:

    import pandas
    import seaborn.apionly as sns

    # Read in csv file
    df_trans = pandas.read_csv('LUH2_trans_matrix.csv')

    sns.set(font_scale=0.8)
    cmap = sns.cubehelix_palette(start=2.8, rot=.1, light=0.9, as_cmap=True)
    cmap.set_under('gray')  # 0 values in activity matrix are shown in gray (inactive transitions)
    df_trans = df_trans.set_index(['Unnamed: 0'])
    ax = sns.heatmap(df_trans, cmap=cmap, linewidths=.5, linecolor='lightgray')

    # X - Y axis labels
    ax.set_ylabel('FROM')
    ax.set_xlabel('TO')

    # Rotate tick labels
    locs, labels = plt.xticks()
    plt.setp(labels, rotation=0)
    locs, labels = plt.yticks()
    plt.setp(labels, rotation=0)

    # revert matplotlib …
Run Code Online (Sandbox Code Playgroud)

python matplotlib pandas seaborn

13
推荐指数
3
解决办法
8292
查看次数

基于列表对pandas数据帧进行排序

我想对以下数据框进行排序:

Region           LSE          North      South
0                   Cn     33.330367   9.178917
1               Develd     -36.157025 -27.669988
2               Wetnds    -38.480206 -46.089908
3                Oands    -47.986764 -32.324991
4               Otherg    323.209834  28.486310
5                 Soys      34.936147   4.072872
6                  Wht     0.983977 -14.972555
Run Code Online (Sandbox Code Playgroud)

我想对它进行排序,以便根据列表重新排序LSE列:

lst = ['Oands','Wetnds','Develd','Cn','Soys','Otherg','Wht']
Run Code Online (Sandbox Code Playgroud)

当然,其他列也需要相应地重新排序.在熊猫中有没有办法做到这一点?

python pandas

12
推荐指数
1
解决办法
7842
查看次数

Pandas从另一个数据帧填充数据框中的缺失值

我找不到一个pandas函数(我以前见过)用数据框中的NaN替换另一个数据帧的值(假设可以指定一个公共索引).有帮助吗?

python pandas

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

从pandas数据框中删除闰年

我有这个人.数据帧:

datetime
2012-01-01    125.5010
2012-01-02    125.5010
2012-01-03    125.5010
2012-02-04    125.5010
2012-02-05    125.5010
2012-02-29    125.5010
2012-02-28    125.5010
2016-01-07    125.5010
2016-01-08    125.5010
2016-02-29     81.6237
Run Code Online (Sandbox Code Playgroud)

我想删除对应于2月29日的所有行,导致foll.数据框:

datetime
2012-01-01    125.5010
2012-01-02    125.5010
2012-01-03    125.5010
2012-02-04    125.5010
2012-02-05    125.5010
2012-02-28    125.5010
2016-01-07    125.5010
2016-01-08    125.5010
Run Code Online (Sandbox Code Playgroud)

现在,我只是手动完成:

df.drop(df.index[['2012-02-29']]).我怎样才能使它适用于所有年份,而不必手动指定行索引.

python dataframe pandas

11
推荐指数
3
解决办法
5045
查看次数