微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何从numpy数组中提取行,其中col1 = a

如何解决如何从numpy数组中提取行,其中col1 = a

我每年有二维温度值数组,其中每年有一些温度值。所以数组看起来像这样:

[[1960,a,b,c,d,e,f ...],[1960,a1,b1,c1,d1,e1,f1 ...],a2,b2,c2,d2,e2,f2 ...],[1961,[1962,f2 ...]....]

我需要为第0列为1961的行提取第1列中的所有内容(因此取所有a值)。

有人知道我会怎么做吗? 谢谢!

解决方法

让L成为您的数组。然后使用以下代码。

L[L[:,1] == 1960][:,0] 
,

适用于常规python列表的解决方案:

[item[1] for item in array if item[0]==1961]

其中array是您的2d输入数组。

,

使用切片
选择第二个值

a[a[:,0] == '1961',1]

或所有值

a[a[:,0] == '1961']
,
import pandas as pd
raw_data = [[1960,'a','b','c','d','e','f'],[1960,'a1','b1','c1','d1','e1','f1'],'a2','b2','c2','d2','e2','f2'],[1961,'f2']]

data = pd.DataFrame(raw_data)
print(data)
      0   1   2   3   4   5   6
0  1960   a   b   c   d   e   f
1  1960  a1  b1  c1  d1  e1  f1
2  1960  a2  b2  c2  d2  e2  f2
3  1961   a   b   c   d   e   f
4  1961  a1  b1  c1  d1  e1  f1
5  1961  a2  b2  c2  d2  e2  f2
print(data.loc[data.iloc[:,0] == 1961,1]) 
3     a
4    a1
5    a2
Name: 1,dtype: object

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。