小编tia*_*ago的帖子

android:actionBarStyle需要API级别11

使用ActionBarSherlockin xml时:

<item name="android:actionBarStyle">@style/Widget.Styled.ActionBar</item>
Run Code Online (Sandbox Code Playgroud)

我收到了这个错误:

android:actionBarStyle requires API level 11 (current min is 8) error
Run Code Online (Sandbox Code Playgroud)

我正在使用它将我的应用程序与操作栏一起移植到2.2设备.

如何将它们一起使用:

 <item name="actionBarStyle">@style/Widget.Styled.ActionBar</item>
 <item name="android:actionBarStyle">@style/Widget.Styled.ActionBar</item>
Run Code Online (Sandbox Code Playgroud)

android actionbarsherlock android-actionbar

60
推荐指数
4
解决办法
5万
查看次数

更改Seaborn热图中刻度标签的旋转

我正在Seaborn中绘制热图.问题是我的情节中有太多的正方形,所以x和y标签彼此太靠近才有用.所以我正在创建一个xticks和yticks列表来使用.但是,将此列表传递给函数会旋转图中的标签.让seaborn自动掉落一些蜱虫真的很不错,但是我希望能够让yticks直立起来.

import pandas as pd
import numpy as np
import seaborn as sns

data = pd.DataFrame(np.random.normal(size=40*40).reshape(40,40))

yticks = data.index
keptticks = yticks[::int(len(yticks)/10)]
yticks = ['' for y in yticks]
yticks[::int(len(yticks)/10)] = keptticks

xticks = data.columns
keptticks = xticks[::int(len(xticks)/10)]
xticks = ['' for y in xticks]
xticks[::int(len(xticks)/10)] = keptticks

sns.heatmap(data,linewidth=0,yticklabels=yticks,xticklabels=xticks)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

python heatmap seaborn

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

Numpy切片的任意尺寸

我想切片一个numpy数组来获取最后一个维度的第i个索引.对于3D阵列,这将是:

slice = myarray[:,:,i]
Run Code Online (Sandbox Code Playgroud)

但我正在编写一个函数,我可以采用任意维度的数组,因此对于我需要的4D数组myarray[:,:,:,i],依此类推.有没有办法可以为任何数组获取此切片而无需显式地编写数组维度?

python numpy

43
推荐指数
3
解决办法
1万
查看次数

imshow()函数不起作用

我正在使用包numpy,scipy和matplotlib.pyplot在python中编写一个程序.这是我的代码:

import matplotlib.pyplot as plt
from scipy import misc
im=misc.imread("photosAfterAverage/exampleAfterAverage1.jpg")
plt.imshow(im, cmap=plt.cm.gray)
Run Code Online (Sandbox Code Playgroud)

由于某种原因,图像没有显示(如果我得到了图像,则检查,在那部分它一切都很好 - 我可以打印数组.).

python matplotlib

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

使用numpy数组和共享内存并行化python循环

我知道关于这个主题的几个问题和答案,但是没有找到这个特定问题的满意答案:

什么是简单的共享内存并行化python循环的方法是什么?numpy数组是通过numpy/scipy函数操作的?

我不是在寻找最有效的方法,我只想要一些简单的实现,当循环不是并行运行时不需要重大的重写.就像OpenMP在低级语言中实现一样.

我在这方面看到的最好的答案就是这个,但这是一种相当笨重的方式,需要一个人将循环表达成一个带有单个参数的函数,几行共享数组转换crud,似乎需要并行函数从中调用__main__,它似乎从交互式提示(我花了很多时间)中运行良好.

有了Python的所有简单性,这真的是解决循环问题的最佳方法吗?真?这在OpenMP方式中并行化是微不足道的.

我仔细阅读了多处理模块的不透明文档,但却发现它非常通用,除了简单的循环并行化之外它似乎适合所有东西.我对设置Managers,Proxies,Pipes等不感兴趣.我只是有一个简单的循环,完全并行,在任务之间没有任何通信.使用MPI来平行这样一个简单的情况似乎有些过分,更不用说在这种情况下它将是内存效率低下的.

我没有时间去了解Python的众多不同的共享内存并行包,但是想知道是否有人在这方面有更多经验并且可以向我展示一种更简单的方法.请不要建议串行优化技术,如Cython(我已经使用它),或使用并行numpy/scipy函数,如BLAS(我的情况更一般,更平行).

python parallel-processing numpy shared-memory multiprocessing

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

使用NetworkX和Matplotlib实现网络增长动画

我想动画一段随着时间的推移而增长的图表.

这是我到目前为止:

fig = plt.figure()
ims = []
graph = nx.Graph()
for i in range(50):
    // Code to modify Graph
    nx.draw(graph, pos=nx.get_node_attributes(graph,'Position'))
    im = plt.draw()
    self.ims.append([im])
ani = animation.ArtistAnimation(fig, ims, interval=50, blit=True,repeat_delay=1000)
ani.save('dynamic_images.mp4')
plt.show()
Run Code Online (Sandbox Code Playgroud)

但是,我收到以下错误消息:

 File "main.py", line 204, in <module>
    repeat_delay=1000)
  File "/usr/lib/pymodules/python2.7/matplotlib/animation.py", line 356, in __init__
    TimedAnimation.__init__(self, fig, *args, **kwargs)
  File "/usr/lib/pymodules/python2.7/matplotlib/animation.py", line 304, in __init__
    Animation.__init__(self, fig, event_source=event_source, *args, **kwargs)
  File "/usr/lib/pymodules/python2.7/matplotlib/animation.py", line 53, in __init__
    self._init_draw()
  File "/usr/lib/pymodules/python2.7/matplotlib/animation.py", line 363, in _init_draw
    artist.set_visible(False)
AttributeError: 'NoneType' object …
Run Code Online (Sandbox Code Playgroud)

python animation matplotlib networkx

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

防止MacPorts安装预构建的包?

我正在尝试使用MacPorts安装libiconv.我需要构建它以在OS X 10.5中运行,而我的Mac运行10.6.所以我把它添加到macports.conf:

macosx_deployment_target 10.5
Run Code Online (Sandbox Code Playgroud)

据说迫使MacPorts用10.5 SDK构建端口.但是,已安装的库仍包含LC_DYLD_INFOload命令,该命令仅在10.6中可用.

我重新安装了带-v选项的端口,发现它下载并安装了一个预编译的软件包而无需编译.该软件包显然是在10.6台机器上构建的.

问题是:如何强制MacPorts使用我的设置在我的机器上构建端口?谢谢.

编辑:我正在使用此命令构建x86/x64通用二进制文件:

sudo port -v install libiconv +universal
Run Code Online (Sandbox Code Playgroud)

macports

11
推荐指数
2
解决办法
5336
查看次数

在python中处理非常大的netCDF文件

我正在尝试使用非常大的netCDF文件(每个大约400 Gb)的数据.每个文件都有一些变量,都比系统内存大得多(例如180 Gb vs 32 Gb RAM).我试图使用numpy和netCDF4-python通过一次复制一个切片并对该切片进行操作来对这些变量进行一些操作.不幸的是,读取每个切片需要很长时间,这会影响性能.

例如,其中一个变量是形状数组(500, 500, 450, 300).我想在切片上操作[:,:,0],所以我做了以下事情:

import netCDF4 as nc

f = nc.Dataset('myfile.ncdf','r+')
myvar = f.variables['myvar']
myslice = myvar[:,:,0]
Run Code Online (Sandbox Code Playgroud)

但最后一步需要很长时间(我的系统约5分钟).例如,如果我(500, 500, 300)在netcdf文件中保存了一个形状变量,那么相同大小的读取操作只需几秒钟.

有什么方法可以加快速度吗?一个明显的路径是转置数组,以便我选择的索引首先出现.但是在如此大的文件中,这在内存中是不可能的,并且考虑到简单的操作已经花费很长时间,尝试它似乎更慢.我想要的是以Fortran的界面get_vara函数的方式快速读取netcdf文件的一部分.或者某种有效转置阵列的方法.

python numpy netcdf

11
推荐指数
1
解决办法
8507
查看次数

在3D阵列上快速插值

我有一个3D数组,我需要插入一个轴(最后一个维度).让我们说y.shape = (nx, ny, nz),我想插入nz每一个(nx, ny).但是,我想在每个中插入不同的值[i, j].

这里有一些代码可以举例说明.如果我想,内插一个值,说new_z,我会使用scipy.interpolate.interp1d这样的

# y is a 3D ndarray
# x is a 1D ndarray with the abcissa values
# new_z is a number
f = scipy.interpolate.interp1d(x, y, axis=-1, kind='linear')
result = f(new_z)
Run Code Online (Sandbox Code Playgroud)

但是,对于这个问题,我真正想要的是new_z为每个插入不同的内容y[i, j].所以我这样做:

# y is a 3D ndarray
# x is a 1D ndarray with the abcissa values
# new_z is a 2D array
result = …
Run Code Online (Sandbox Code Playgroud)

python interpolation numpy scipy

11
推荐指数
1
解决办法
8605
查看次数

查找两个二维数组中匹配行的索引

假设我有两个2-D数组,如下所示:

array([[3, 3, 1, 0],
       [2, 3, 1, 3],
       [0, 2, 3, 1],
       [1, 0, 2, 3],
       [3, 1, 0, 2]], dtype=int8)

array([[0, 3, 3, 1],
       [0, 2, 3, 1],
       [1, 0, 2, 3],
       [3, 1, 0, 2],
       [3, 3, 1, 0]], dtype=int8)
Run Code Online (Sandbox Code Playgroud)

每个数组中的某些行具有相应的行,该行在另一个数组中按值(但不一定是索引)匹配,而某些行则没有.

我想找到一种有效的方法来返回两个对应于匹配行的数组中的索引对.如果他们是元组我会期望回来

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

python numpy

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