我是靠谱客的博主 美好冬瓜,最近开发中收集的这篇文章主要介绍python获取数组一部分_python-切片一个numpy结构的一维数组以获取记录的一部分,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

我有一个numpy的一维结构化数组,我只想获取一条记录的一部分.我试图弄清楚如何分割这种类型的请求.这是我的代码:

summary_stat_list = ['mean', 'variance', 'median', 'kurtosis', 'skewness']

model_summary_stats = np.zeros(5,dtype=[('statistic',

'object'),

('f1', 'float'),

('f2', 'float'),

('f3', 'float'),

('m1', 'float'),

('m2', 'float'),

('m3', 'float'),

('t3', 'float'),

('t2', 'float'),

('t1', 'float'),

('prom1', 'float'),

('prom2', 'float')])

for r in range(model_summary_stats.shape[0]):

model_summary_stats['statistic'][r] = summary_stat_list[r]

现在,数组看起来像这样:

[('mean', 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0)

('variance', 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0)

('median', 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0)

('kurtosis', 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0)

('skewness', 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0)]

我的问题是,如何获得除第一个数组的第一个元素以外的所有元素.也就是说,在“平均值”数组中,我只想获取数字条目.

我在尝试类似

model_summary_stats[0]['f1':]

要么:

model_summary_stats[0][1:]

但是这些都不起作用.有什么建议么.

解决方法:

切片不适用于字段名称索引.您必须使用所需字段名称的列表:

model_summary_stats[0][['f1','f2','f3',etc]

您还可以通过类似的方式获得该列表

model_summary_stats.dtype.names[1:]

您应该记住,这种多字段索引开发不完善.可以检索值,但是您不能以这种方式设置值.而且您不能跨列进行数学运算.

不同的dtype可能更有用

dt = np.dtype([('statistic',object),('values',(float,11))])

dt = np.dtype([('statistic',object),('values',(float,8)),('prom',(float,3))])

或在处理数据时最有意义的分组方式.

标签:structured-array,arrays,python,numpy

最后

以上就是美好冬瓜为你收集整理的python获取数组一部分_python-切片一个numpy结构的一维数组以获取记录的一部分的全部内容,希望文章能够帮你解决python获取数组一部分_python-切片一个numpy结构的一维数组以获取记录的一部分所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(30)

评论列表共有 0 条评论

立即
投稿
返回
顶部